首页 > 其他 > 详细

多用户相关

时间:2016-04-18 18:32:20      阅读:207      评论:0      收藏:0      [点我收藏+]

获取当前用户/用户ID

1.android.os.Process.myUserHandle()

2.UserHandle.myUserId()

3.UserHandle.getUserId(android.os.Process.myUid())

4.UserManager um = (UserManager) this.getSystemService(Context.USER_SERVICE);

   UserHandle user = um.getUserForSerialNumber(ActivityManager.getCurrentUser());

ActivityManager.getCurrentUser

这是一个hide的API,而且需要是system permission。

system permission

.AndroidManifest.xml里面定义android:sharedUserId=“android.uid.system”

.Android.mk里面定义签名LOCAL_CERTIFICATE := platform

还需要android.permission.INTERACT_ACROSS_USERS权限。

所以说这种用法的限制条件比较多。

如果是一般的app,建议用1~3的方法,但是如果是SystemUI里面的话,有可能1~3并不能取到正确的id,

所以这个时候,可以考虑用4的这种方法。

获取OWNER的方法

UserHandle.USER_OWNER

UserHandle和userId转换

UserHandle->userId

UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);

userId = um.getSerialNumberForUser(user);

userId->UserHandle

user = um.getUserForSerialNumber(userId);

 

多用户相关

原文:http://www.cnblogs.com/minminjy123/p/5345211.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!