我目前正在使用以下代码来获取当前用户名:
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)上,具有正确的权限,这对“所有者”用户以及其他非受限用户都很有效。但是,对于有限的用户配置文件,事情似乎分崩离析:
- 该代码始终返回零个游标行。我曾希望启用对“通讯录”应用程序的访问可以让它工作,但这没有任何效果。
- 无论如何,与非受限配置文件不同,受限用户帐户的配置文件似乎与锁定屏幕上显示的名称没有关联,因此即使我可以让此代码正常工作,我也不确定它有多大用处将会。
请原谅这个多部分的问题,但是:
- 这是三星平板电脑的一个特点,还是这种行为在不同设备上是一致的?
- 有没有办法读取受限用户的个人资料?
- 有没有更好的方法来获取当前用户名?
任何见解表示赞赏。