android多用户怎么管理系统应用,Android多用户模式下开发不得不知的注意事项

虽说 Android 在4.2就开始支持多用户了,但是笔者手头上4.2系统的手机,并没有找到新用户创建的菜单。只好拿6.0系统的 nexus5 来做测试了。

一、手机状态信息不一样

1065249c56703355406bac525620da5b.png

fd5fef9586246eb8ef1babc825d6c092.png

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 的目录

c5dbb1ecdf3519fd6f7b92aed25e176c.png

并没有区分用户,那么只要一个用户对APP进行了升级,其它用户使用的也是升级后的 APP 了

但是新创建的用户,除了系统预装的,看不到其它 APP

因此,只是对 APP 的显示做了隔离

五、多用户的数据目录

如下分别打印了主用户和新创建用户的 files 目录

dabbc409f2c049bd34e60ef2e14087a1.png

35b2d1db0095845d3484597a2e9a9136.png

可以看到,用户使用目录也是有隔离的。

六、多用户的存储目录

存储目录也会对不同的用户进行隔离。下图是截屏图片的存储目录:

aa3db331377910b8537d738b4540ef75.png

000c5be1ce0aa2c25b414a853e9435c0.png

Owner用户                                       其它用户

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值