Android sharedUserId 和系统权限

sharedUserId

给不同的应用使用同一个 sharedUserId 可以运行在这几个应用间互相访问数据(数据库,SharedPreferences,文件)。

sharedUserId 一旦使用后,不可以再更改。

使用限制:

两个应用ShareUserId相同,包名相同或不同,打包时签名文件必须相同否则,在如下情况下,第二个安装包在安装时会失败,错误为[INSTALL_FAILED_SHARED_USER_INCOMPATIBLE]:
1.包名相同,签名相同,ShareUserId不同
2.包名相同或不同,ShareUserId相同,签名不同

 

系统权限

在开发一个应用的过程中,遇到了需要改变应用 Locale 的情况。这时候需要一个系统权限:

android.permission.CHANGE_CONFIGURATION

但是使用这个系统权限有一个条件,就是使用系统的 sharedUserId

android:sharedUserId="android.uid.system"

还没有完,想使用系统的 sharedUserId 必须使用系统签名。由于我使用的是公司个性化的第三方ROM,所以我有系统签名可以直接使用。但是使用官方系统的就需要特殊的签名方式,具体可以在网上查到。比如这个链接

 

posted @ 2017-08-10 16:35  davesuen  阅读(260)  评论(0编辑  收藏  举报