Lancer une application à partir d'une autre application sur Android

Je veux lancer un paquet installé à partir de mon application Android. Je suppose que c'est possible en utilisant les intents, mais je n'ai pas trouvé de moyen de le faire. Existe-t-il un lien, où trouver l'information ?

Si vous ne connaissez pas l'activité principale, le nom du paquet peut être utilisé pour lancer l'application.

Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");
if (launchIntent != null) { 
    startActivity(launchIntent);//null pointer check in case package name was not found
}
Commentaires (13)

J'ai trouvé la solution. Dans le fichier manifeste de l'application, j'ai trouvé le nom du paquet : com.package.address et le nom de l'activité principale que je veux lancer : MainActivity Le code suivant démarre cette application :

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity"));
startActivity(intent);
Commentaires (5)

Si vous connaissez les données et l'action sur lesquelles le paquet installé réagit, vous devez simplement ajouter ces informations à votre instance d'intention avant de la lancer.

Si vous avez accès à l'AndroidManifest de l'autre application, vous pouvez y voir toutes les informations nécessaires.

Commentaires (6)