Tout d'abord, le concept d '«application» sous Android est légèrement plus long.
Une application - techniquement un processus - peut avoir plusieurs activités, services, fournisseurs de contenu et/ou auditeurs de diffusion. Si au moins l'un d'entre eux est en cours d'exécution, l'application est en cours d'exécution (le processus). Donc, ce que vous devez identifier est comment voulez-vous "démarrer l'application".
Ok ... voici ce que vous pouvez essayer:
Créer une intention avec action = MAIN et catégorie = LANCEUR
Obtenez le PackageManager du contexte actuel à l'aide context.getPackageManager
packageManager.queryIntentActivity (, 0) où intention a la catégorie = LAUNCHER, action = MAIN ou packageManager.resolveActivity (, 0) pour obtenir la première activité avec main/lanceur
Obtenez le ActivityInfo vous êtes intéressé par
De l'ActivityInfo, obtenir le packageName et le nom
Enfin, créer une autre intention avec à la catégorie = LANCEUR action = MAIN, componentName = new ComponentName (packageName, nom) et setFlags (Intent.FLAG_ACTIVITY_NEW_TASK)
Enfin, context.startActivity (newIntent)
le lien ci-dessous est également utile
http://www.ercanbaran.com/index.php/2011/09/13/how-to-open-another-application-from-current-application-on-android-different-approach/
si vous pouvez lister les applications, je trouve étrange que vous ne pouviez pas trouver le moyen de les lancer en fait ... – njzk2