web-dev-qa-db-fra.com

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

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

59
Bhargav Panchal

SharedUserId est utilisé pour partager les données, les processus, etc. entre deux ou plusieurs applications. 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 cela vous sera utile.

34
Parthraj

Par défaut, Android attribue un identifiant utilisateur à une application. Il s'agit de l'identifiant unique de votre application et signifie que personne à l'exception de l'utilisateur avec cet identifiant ne peut accéder aux 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é, une activité d'une autre application est appelée Android passe le contrôle à la nouvelle activité appelée et s'exécute dans des processus totalement différents .

Cependant, dans votre fichier manifeste, vous pouvez 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 des autres (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: 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