web-dev-qa-db-fra.com

Comment puis-je vérifier si une application fonctionne sur Android?

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 procéder par programmation?

64
sjor

Ajoutez la classe d'assistance ci-dessous:

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 l'application souhaitée fonctionne ou non:

if (Helper.isAppRunning(YourActivity.this, "com.your.desired.app")) {
    // App is running
} else {
    // App is not running
}
133
dhaval

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;
}
1
Android Dev