Как я могу проверить, работает ли приложение на Android? - PullRequest
63 голосов
/ 18 ноября 2010

Я разработчик Android и хочу написать заявление if в своем приложении. В этом утверждении я хочу проверить, работает ли браузер по умолчанию (браузер в ОС Android). Как я могу сделать это программно?

Ответы [ 2 ]

128 голосов
/ 18 ноября 2010

Добавьте следующий класс помощников:

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;
        }
    }

Теперь вы можете проверить из приведенного ниже кода, работает ли желаемое приложение или нет:

if (Helper.isAppRunning(YourActivity.this, "com.your.desired.app")) {
    // App is running
} else {
    // App is not running
}
1 голос
/ 06 июля 2017

Вы можете проверить это следующим способом

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...