gpt4 book ai didi

android - 获取任意用户的用户名

转载 作者:行者123 更新时间:2023-11-29 01:33:31 27 4
gpt4 key购买 nike

我目前使用以下代码获取当前用户名:

        String username;
{
Cursor c = ctx.getContentResolver().query(Profile.CONTENT_URI,
new String[]{Profile.DISPLAY_NAME}, null, null, null);
if (c.getCount() > 0)
{
c.moveToFirst();
username = c.getString(0);
}

在我的测试设备 (Samsung Galaxy Tab Pro) 上,具有正确的权限,这对“所有者”用户以及其他不受限制的用户来说效果很好。然而,对于有限的用户配置文件,事情似乎分崩离析:

  • 代码总是返回零游标行。我曾希望启用对“通讯录”应用程序的访问可以使其正常工作,但这没有任何效果。
  • 无论如何,与非受限配置文件不同,受限用户帐户的配置文件似乎与锁定屏幕上显示的名称无关,所以即使我可以让此代码正常工作我也不确定它会有多大用处。

请原谅多部分问题,但是:

  • 这是三星平板电脑的特性,还是这种行为在所有设备上都一致?
  • 有什么方法可以读取受限用户的个人资料吗?
  • 有没有更好的方法获取当前用户名?

任何见解表示赞赏。

最佳答案

我已经尝试搜索它并且可以说无法获取“受限配置文件(用户)”的详细信息。

在后台,当您尝试读取“受限个人资料用户”的详细信息时,他们正在尝试更改数据库并抛出 SQLiteexception:删除然后重写现有数据库,在 getWritableDatabase 上抛出 SQLiteReadOnlyDatabaseException。由于这个异常(exception),我认为没有机会读取用户名。

如果不使用上面的代码,您可以直接调用 UserManagergetUsername()类。[API 级别 17]

关于android - 获取任意用户的用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29959081/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com