我如何检查在Android上运行的应用程序?
我是一名Android开发人员,我想在应用程序中编写一条if
语句。 在这个声明中,我想检查默认浏览器(Android OS中的浏览器)是否正在运行。 我怎样才能做到这一点编程?
添加下面的助手类:
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 }
您可以通过以下方法检查它
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; }