Android中什么是sharedUserId,如何使用它?

我在 sharedUserID 中感到困惑。sharedUserId 有什么用?如何使用?在安卓系统中在哪里使用?


答案 1

默认情况下,Android 会将用户 ID 分配给应用程序。它是应用程序的唯一 ID,意味着除了具有此 ID 的用户之外,任何人都无法访问应用程序的资源。您无法访问其他应用程序的数据,也无法在当前进程中运行该应用程序。当从一个活动中,另一个应用程序的活动称为android,将控制权传递给被调用的新活动,并且它们在完全不同的进程中运行。

但是,在清单文件中,您可以显式标识应用程序的用户 ID。当您为多个应用程序声明相同的用户 ID 时,它们可以访问彼此的资源(数据字段、视图等)。您可以显示来自其他应用程序的数据,也可以在进程中运行它。

这就是你使用它的方式:从 http://developer.android.com/guide/topics/manifest/manifest-element.html

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="string"
    android:sharedUserId="string"
    android:sharedUserLabel="string resource" 
    android:versionCode="integer"
    android:versionName="string"
    android:installLocation=["auto" | "internalOnly" | "preferExternal"] >
    . . .</manifest>

答案 2

SharedUserId用于在两个或多个应用程序之间共享数据,进程等。它在AndroidManifest中定义.xml例如,

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:sharedUserId="android.uid.shared"
    android:sharedUserLabel="@string/sharedUserLabel"
    ...>

并在 Android.mk 中为该应用定义共享参数,例如

LOCAL_CERTIFICATE := shared

希望对您有所帮助。


推荐