Dans Android, comment puis-je obtenir l'identifiant de l'application par programme (ou par une autre méthode), et comment puis-je communiquer avec d'autres applications utilisant cet identifiant?Comment obtenir l'identifiant de l'application Android?
Répondre
Je ne suis pas sûr de ce que "id application" vous faites référence, mais pour un identifiant unique de votre application, vous pouvez utiliser:. Méthode getPackageName()
getApplication() de votre activité actuelle
Le champ PackageInfo.sharedUserId
affichera l'ID utilisateur affecté dans le manifeste.
Si vous voulez deux applications pour avoir la même userId, afin qu'ils puissent se voir de données et exécuter dans le même processus, puis leur attribuer le même userId dans le manifeste:
android:sharedUserId="string"
Les deux paquets avec le même sharedUserId doit également avoir la même signature.
Je vous recommande également de lire here pour un coup de pouce dans la bonne direction.
2 applications différentes utilisent le même nom de paquet signifie que les applications peuvent partager les données? ... – arams
Non. Si deux applications ont le même shareUserId ET sont signées avec la même signature, les données peuvent être partagées. Le nom du package n'est pas un problème. – Will
Si le but est de communiquer des données avec une autre application, utilisez les méthodes sendBroadcast d'Intent.
Sinon vous pouvez obtenir votre identifiant de processus application fonctionne dans:
final int android.os.Process.myPid()
statique Retourne l'identifiant de ce processus, qui peut être utilisé avec KillProcess (int) et sendSignal (int, int).
Je ne sais pas ce que vous avez besoin de l'application/ID d'installation pour, mais vous pouvez passer en revue les possibilités existantes dans un article de développeurs Android:
En résumé:
UUID.randomUUID()
pour créer id sur la première fois une application fonctionne après l'installation et la récupération facile aprèsTelephonyManager.getDeviceId()
pour identifier l'appareil réelSettings.Secure.ANDROID_ID
sur relativement appareils modernes
Si par application id
, vous faites référence à package name
, vous pouvez utiliser la méthode Context::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:
- Démarrer une activité d'une autre application et envoyer des données dans les « Extras » du « intention »
- Envoyer une émission avec action/catégorie spécifique et envoyer des données dans les extras
- Si vous avez juste besoin de partager des données structurées, utilisez le fournisseur de contenu
- Si l'autre application doit s'exécuter en arrière-plan en continu, utilisez Serveur et "liez" un service.
Si vous pouvez élaborer votre exigence exacte, la communauté sera en mesure de vous aider à mieux.
Et si je veux afficher une liste d'applications et que j'ai besoin de l'id comme un entier, comme tous les adaptateurs de listes ont besoin? Je pourrais utiliser l'heure d'installation, mais c'est un type long. Est-ce que le lancer à int aiderait encore? –
nom du package n'est pas toujours applicationId, lorsque vous le définissez via build.gradle! –
Si vous utilisez le nouveau système de compilation ** Gradle, alors getPackageName
retournera curieusement l'identifiant de l'application, et non le nom du paquet. Donc, la réponse de MasterGaurav est correct, mais il n'a pas besoin de commencer aveC++
Si par identifiant d'application, vous faites référence Nom du package ...
En savoir plus sur les différences here .
** pas si nouvelle à ce moment
++ Je me rends compte que sa réponse était logique en 2011
Si vous cherchez la valeur définie par applicationId
dans gradle, vous pouvez simplement utiliser
BuildConfig.APPLICATION_ID
Gradle est si bon! C'est un épargnant de vie. – hgoebl
Cela ne serait pas très utile si vous écrivez une bibliothèque Android –
- 1. Android - comment obtenir android.R.anim.slide_in_right
- 2. Android, obtenir un enfant DecorView
- 3. Comment obtenir efficacement un tableau court de ressources sur Android?
- 4. Comment obtenir un aperçu de la caméra dans Android?
- 5. Android Obtenir le groupe de contact par ID
- 6. Android: Obtenir le nom de fichier de l'appareil photo?
- 7. Obtenir la taille de la fenêtre OpenGL dans Android
- 8. Android: BaseAdapter comment?
- 9. Obtenir tous les éléments du curseur dans android
- 10. Comment puis-je obtenir l'ID de ressource d'image et l'envoyer à une autre activité dans Android?
- 11. Comment puis-je obtenir une liste des ressources de mon application Android?
- 12. Annuaire de téléphone Android
- 13. Comment enregistrer de l'audio avec Android 1.5?
- 14. Android: obtenir la valeur la plus élevée dans la colonne
- 15. Intention de diffusion Android
- 16. Comment bomber une application Android?
- 17. Chargement de l'application Android
- 18. Comment appeler setListAdapter dans android
- 19. Comment utiliser viewGroup dans Android
- 20. Android Dessiner le temps
- 21. Android Intention de téléchargement
- 22. Configuration de l'application Android
- 23. Validation de schéma android
- 24. Android, comment obtenir des informations sur quelle activité est actuellement en cours (inegorund)?
- 25. Comment puis-je mettre "String" (obtenir du curseur) dans un "Array" dans android
- 26. Comment obtenir le fichier dans les paquet, dans une application Android
- 27. Comment puis-je obtenir la largeur maximale et la hauteur d'un appareil en android
- 28. Comment puis-je interagir avec l'environnement de script Android à partir d'une application Android?
- 29. Android anti script de contournement?
- 30. SQL Client sur Android
chaque application installée ont un identifiant unique ... est-il possible d'obtenir l'identifiant unique d'une application autre application – arams
est pas 'getApplicationContext(). getPackageName()'? –