web-dev-qa-db-ja.com

AndroidのsharedUserIdとは何ですか?

SharedUserIDで混乱しています。sharedUserIdの使用方法、使用方法、Androidでの使用場所を教えてください。

59
Bhargav Panchal

SharedUserIdは、2つ以上のアプリケーション間でデータやプロセスなどを共有するために使用されます。 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

あなたの役に立つことを願っています。

34
Parthraj

デフォルトでは、AndroidはアプリケーションにユーザーIDを割り当てます。これはアプリケーションの一意のIDであり、このIDを持つユーザー以外はアプリケーションのリソースにアクセスできません。データにアクセスできません。アクティビティから、別のアプリケーションのアクティビティが呼び出されると、Androidは、呼び出される新しいアクティビティにコントロールを渡し、まったく異なるプロセスで実行されます。

ただし、マニフェストファイルでは、アプリケーションのユーザーIDを明示的に識別することができます。複数のアプリケーションに同じユーザーIDを宣言すると、互いのリソース(データフィールド、ビューなど)に到達できます。別のアプリケーションのデータを表示したり、プロセスで実行したりできます。

これがあなたの使い方です:from 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>
35
cagla