虽说 Android 在4.2就开始支持多用户了,但是我手头上4.2系统的手机,并没有找到新用户创建的菜单。只好拿6.0系统的 nexus5 来做测试了。
一、手机状态信息不一样
Owner 用户 其它用户
手机状态差别 (其它用户获取信息受限):
1.无SIM卡状态
2.无IMEI信息
3.wifi mac地址被设置成了02:00:00:00:00:00
二、多用户对系统信息的影响
AndroidID会不一样,对序列号没有影响。
当然对IMEI、MAC地址也不会有影响。
三、UserId不一样
@SystemApi
public static final int myUserId() {
return getUserId(Process.myUid());
}
public static final int getUserId(int uid) {
if (MU_ENABLED) {
return uid / PER_USER_RANGE;
} else {
return 0;
}
}
public static final int PER_USER_RANGE = 100000;
其它用户的uid:uid:1010146
正常情况下,主用户的 UserId 为0,其它用户不为0。
四、多用户对APK安装的影响
1.如果一个用户已经安装过一个 APP,另一个用户再安装同一个 APP,但是签名不一样时,会安装不上。
2.如果一个用户安装了版本号是4的 APP,另一个用户安装版本号低于4的 APP,也会安装失败。
打 LOG 看了下 APK 的目录
并没有区分用户,那么只要一个用户对APP进行了升级,其它用户使用的也是升级后的 APP 了
但是新创建的用户,除了系统预装的,看不到其它 APP
因此,只是对 APP 的显示做了隔离
五、多用户的数据目录
如下分别打印了主用户和新创建用户的 files 目录
可以看到,用户使用目录也是有隔离的。
六、多用户的存储目录
存储目录也会对不同的用户进行隔离。下图是截屏图片的存储目录:
Owner用户
其它用户
更多资讯文章,可关注微博公众号:网易云捕