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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top