Appel d'une application externe
-
24-10-2019 - |
Question
Comment puis-je appeler une application externe de ma demande?
par exemple: Je dois appeler Shazam
(application) de mon application.
Je peux voir le nom du package de l'application dans le logcat
.
Cela sera utile pour quelque chose?
La solution
Vous pouvez appeler l'activité d'une application tierce de la manière suivante.
final Intent shazamIntent = new Intent("com.shazam.android");
shazamIntent .setComponent(new ComponentName("com.shazam.android","com.shazam.android.Splash"));
startActivity(shazamIntent );
Mais, ce n'est pas une excellente façon de s'y prendre. Dans le cas où les changements de nom de package (ce qui est une possibilité très éloignée) ou les changements de nom de l'activité (Splash
pourrait changer quelque chose d'autre) votre application briserait.
Si Shazam a une intention qui peut être invoqué pour commencer à écouter une utilisation chanson (pas sûr si elles en ont un).
En outre, faire vérifier nécessaire en cas Shazam est pas installé de telle sorte que votre appel ne tombe pas en panne.
Autres conseils
Créer un objet intention lanceur de l'application et dire startActivity.
Plus précisément pour Shazam, le code suivant fonctionne:
Intent intent = new Intent("com.shazam.android.intent.actions.START_TAGGING");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if(!context.getPackageManager().queryIntentActivities(intent, 0).isEmpty()) {
context.startActivity(intent);
} else {
// Shazam is not installed
}
START_TAGGING
est l'intention qui est émis lorsque vous appuyez sur le widget Shazam.