可以使用共享UserID的两个应用程序访问彼此的资源,如drawables或字符串吗?
他们可以访问彼此的资产吗?
他们可以启用或禁用其他组件吗?
如果有可能,请说明必须如何进行.
我搜索了很多,但找不到任何关于userId共享的例子.
Sta*_*kER 48
您可以android:sharedUserId在AndroidManifest.xml 中使用,让您的应用程序与另一个应用程序共享相同的用户ID.
机器人:sharedUserId
将与其他应用程序共享的Linux用户标识的名称.默认情况下,Android会为每个应用程序分配自己唯一的用户ID.但是,如果将此属性设置为两个或多个应用程序的相同值,则它们将共享相同的ID - 前提是它们也由相同的证书签名.具有相同用户ID的应用程序可以访问彼此的数据,并且如果需要,可以在同一进程中运行.
请注意,它们需要使用相同的证书进行签名.
共享相同用户ID的两个应用程序可以访问彼此的资源.
例如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.shareusertesta"
android:versionCode="1"
android:versionName="1.0"
android:sharedUserId="com.example">
Run Code Online (Sandbox Code Playgroud)
然后我们可以初始化一个新的上下文com.example:
Context friendContext = this.createPackageContext( "com.example",Context.CONTEXT_IGNORE_SECURITY);
Run Code Online (Sandbox Code Playgroud)
并访问该应用程序的一些资源:
friendContext.getResources().getString(id);
friendContext.getResources().getDrawable(id);
friendContext.registerReceiver(...);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17062 次 |
| 最近记录: |