我目前正在使用以下代码获取当前用户名:
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)上,使用正确的权限,这对于"所有者"用户,以及其他非限制用户。但是,对于有限的用户配置文件,情况似乎有所不同:
请原谅多部分问题,但是:
有任何见解。
答案 0 :(得分:1)
我试图搜索它&可以说不可能获得“受限制的个人资料(用户)”的详细信息。
在您尝试阅读“Restricted Profile user”的详细信息时,他们会尝试更改数据库并抛出SQLiteexception : delete then re-write existing database throws SQLiteReadOnlyDatabaseException on getWritableDatabase
。由于这个例外,我认为没有机会读取用户名。
如果不使用上述代码,您可以直接致电UserManager类getUsername()
。[API Level 17]