Sous Android, comment obtenir l'identifiant de l'application par programme (ou par une autre méthode), et comment puis-je communiquer avec d'autres applications en utilisant cet identifiant?
92
Si vous recherchez la valeur définie par applicationId
dans gradle, vous pouvez simplement utiliser
BuildConfig.APPLICATION_ID
Si par
application id
, vous faites référence àpackage name
, vous pouvez utiliser la méthodeContext::getPackageName
( http: // http: //developer.android.com/reference/android/content/Context.html#getPackageName%28%29 ).Si vous souhaitez communiquer avec une autre application, il existe plusieurs façons:
Si vous pouvez préciser votre exigence exacte, la communauté pourra mieux vous aider.
la source
Context.getPackageName()
ne retourner l'ID d'application et non le nom du paquet (bien qu'ils sont généralement les mêmes). Le nom quelque peu déroutant de la méthode est héritage. Source: developer.android.com/studio/build/application-idJe ne sais pas à quel "identifiant d'application" vous faites référence, mais pour un identifiant unique de votre application, vous pouvez utiliser:
méthode getApplication (). getPackageName () à partir de votre activité actuelle
la source
getApplicationContext().getPackageName()
?Le nom du package est l'identifiant de votre application Android.
String appId = BuildConfig.APPLICATION_ID
Ou
https://play.google.com/store/apps/details?id=com.whatsapp
Identifiant d'application = com.whatsapp
la source
Étape 1: ouvrez le Google Play Store
Étape 2: Ouvrez n'importe quelle application dans l'App Store Exemple: facebook
Étape 3: Cliquez sur n'importe quelle application et regardez le lien du navigateur.À la fin, id = com.facebook.katana & hl = en sera là et il s'agit de votre identifiant unique d'applications.
la source
Sinon, vous pouvez obtenir l'identifiant du processus dans lequel votre application s'exécute:
final static int android.os.Process.myPid ()
Renvoie l'identifiant de ce processus, qui peut être utilisé avec killProcess (int) et sendSignal (int, int).
la source
Je ne sais pas pourquoi vous avez besoin de l'ID d'application / d'installation, mais vous pouvez consulter les possibilités existantes dans un excellent article des développeurs Android:
Pour résumer:
UUID.randomUUID()
pour créer un identifiant lors de la première exécution d'une application après l'installation et une récupération simple par la suiteTelephonyManager.getDeviceId()
pour l'identifiant réel de l'appareilSettings.Secure.ANDROID_ID
sur des appareils relativement modernesla source
Le
PackageInfo.sharedUserId
champ affichera l'ID utilisateur attribué dans le manifeste .Si vous souhaitez que deux applications aient le même userId, afin qu'elles puissent voir les données de l'autre et s'exécuter dans le même processus, attribuez-leur le même userId dans le manifeste:
Les deux packages avec le même sharedUserId doivent également avoir la même signature.
Je recommanderais également de lire ici pour un coup de pouce dans la bonne direction.
la source
Si l'objectif est de communiquer des données avec une autre application, utilisez les méthodes sendBroadcast d'Intent.
la source
Si vous utilisez le nouveau système de construction ** Gradle, il
getPackageName
retournera étrangement l'ID de l'application, pas le nom du package. La réponse de MasterGaurav est donc correcte mais il n'a pas besoin de commencer par ++En savoir plus sur les différences ici .
** pas si nouveau à ce stade
++ Je me rends compte que sa réponse avait tout son sens en 2011
la source
L'Explorateur de fichiers Android App ES affiche le nom du package Android dans la section Applications utilisateur, ce qui est utile pour Bitwarden. Bitwarden fait référence à cela comme "l'ID de package d'application Android (ou nom du package)".
la source
Pour suivre les installations, vous pouvez par exemple utiliser un UUID comme identifiant et simplement en créer un nouveau la première fois qu'une application s'exécute après l'installation. Voici une esquisse d'une classe nommée «Installation» avec une méthode statique Installation.id (contexte de contexte). Vous pouvez imaginer écrire plus de données spécifiques à l'installation dans le fichier INSTALLATION.
}
Vous pouvez en voir plus sur https://github.com/MShoaibAkram/Android-Unique-Application-ID
la source