Qu'est-ce que sharedUserId dans Android, et comment est-il utilisé?

Je suis confus dans sharedUserID.Quelle est l'utilisation de sharedUserId?Comment l'utiliser?Où utiliser dans android?

55
demandé sur Phillip 2012-03-20 12:52:49

2 réponses

SharedUserId est utilisé pour partager les données,les processus, etc. entre deux applications ou plus. Il est défini dans AndroidManifest.xml comme,

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

Et définissez le paramètre partagé dans Android.mk pour cette application, comme

LOCAL_CERTIFICATE := shared

J'espère que c'est utile pour vous.

33
répondu Parthraj 2018-07-19 11:33:25

Par défaut, Android attribue un id utilisateur à une application. C'est l'id unique de votre application et signifie que personne, sauf l'utilisateur avec cet id, ne peut atteindre les ressources de votre application. Vous ne pouvez pas accéder aux données d'une autre application ou l'exécuter dans votre processus actuel. lorsque, à partir d'une activité, d'une activité à une autre application est appelé android passe le contrôle à la nouvelle activité appelée et ils sont totalement différents processus.

Cependant, dans votre fichier manifeste, vous peut identifier explicitement un id utilisateur pour votre application. Lorsque vous déclarez le même ID utilisateur pour plusieurs applications, elles peuvent atteindre les ressources de l'autre (champs de données, vues, etc.). Vous pouvez afficher les données d'une autre application ou les exécuter dans votre processus.

Voici comment vous l'utilisez: à partir de 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>
29
répondu cagla 2012-03-20 09:10:34