Je suis un développeur Android et je veux écrire une déclaration if
dans mon application. Dans cette déclaration, je veux vérifier si le navigateur par défaut (navigateur dans Android OS) est en cours d'exécution. Comment puis-je faire cela par programme?Comment puis-je vérifier si une application fonctionne sous Android?
54
A
Répondre
102
Ajouter la classe ci-dessous Helper:
public class Helper {
public static boolean isAppRunning(final Context context, final String packageName) {
final ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
final List<ActivityManager.RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();
if (procInfos != null)
{
for (final ActivityManager.RunningAppProcessInfo processInfo : procInfos) {
if (processInfo.processName.equals(packageName)) {
return true;
}
}
}
return false;
}
}
Maintenant, vous pouvez vérifier à partir du code ci-dessous si votre application désirée est en cours d'exécution ou non:
if (Helper.isAppRunning(YourActivity.this, "com.your.desired.app")) {
// App is running
} else {
// App is not running
}
-1
Vous pouvez le vérifier par la méthode suivante
public static boolean isRunning(Context ctx) {
ActivityManager activityManager = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> tasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
for (ActivityManager.RunningTaskInfo task : tasks) {
if (ctx.getPackageName().equalsIgnoreCase(task.baseActivity.getPackageName()))
return true;
}
return false;
}
+0
est-ce que ça marche au dessus de kitkat? Si oui alors s'il vous plaît fournir le code .. merci –
Questions connexes
- 1. android: comment vérifier si l'application fonctionne en arrière-plan
- 2. Comment vérifier si une application peut être désinstallée?
- 3. comment vérifier si une liste contient une sous-liste
- 4. Comment vérifier si Selenium Server fonctionne
- 5. Comment vérifier si CCAction fonctionne - cocos2d
- 6. Comment vérifier si une sous-chaîne correspond à regex?
- 7. Comment vérifier si une touche a été enfoncée sous Linux?
- 8. Comment vérifier si une application est en attente
- 9. Comment vérifier par programme si une application est installée?
- 10. Comment vérifier si une application est en debug ou release
- 11. Comment vérifier si l'utilisateur se connecte dans une application Web?
- 12. android savoir si une application est installée
- 13. Puis-je exécuter une application Android 2.0 sous Android 1.5?
- 14. Comment mettre fin à une application par programme sous Android?
- 15. C++ vérifier si une liste contient une sous-liste
- 16. Android: Vérifier si les écouteurs sont branchés
- 17. Comment détecter si une application est exécutée sous KVM?
- 18. Comment vérifier si un périphérique fonctionne sous Windows CE ou Windows Mobile?
- 19. Android - Une application développée sous Android 1.6 peut-elle fonctionner sous Android 2.0?
- 20. Comment vérifier si je cours sous Windows en Python?
- 21. Comment vérifier si la compression IIS avec HTTPS/SSL fonctionne?
- 22. Comment détecter si mon programme fonctionne sous Windows?
- 23. Comment vérifier si php-fpm est installé et fonctionne correctement?
- 24. Comment vérifier si le navigateur fonctionne sur un MAC?
- 25. HTMLUnit comment vérifier si le proxy fonctionne correctement
- 26. Comment vérifier si un thread Android est en cours d'exécution
- 27. Comment déterminer si une application Web est en cours d'exécution
- 28. Comment vérifier si Contact a une image?
- 29. Comment vérifier si une date s'est écoulée
- 30. Comment vérifier si une session est invalide
Beau morceau de code, merci! –
Thx, mais comme je le vois à chaque fois que com.android.browser est en cours d'exécution. Quand il est au premier plan, généralement il est en 3ème ou 4ème position de la liste, sinon il est toujours dans la liste. Donc, cette déclaration revient à chaque fois. Comment puis-je résoudre ce problème? Ce n'est que lorsque le processus récent est navigateur qu'il doit écrire "browser is running". – sjor
un champ 'lru' dans le RunningAppProcessInfo vous donnera les informations relatives de l'exécution de l'application pour plus de référence consultez la page doc - http://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html – dhaval