首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检查应用程序是否在Android上运行?

如何检查应用程序是否在Android上运行?
EN

Stack Overflow用户
提问于 2010-11-18 16:45:46
回答 5查看 97.7K关注 0票数 74

我是一名安卓开发人员,我想在我的应用程序中编写一条if语句。在这条语句中,我想检查默认浏览器( Android操作系统中的浏览器)是否正在运行。我怎样才能以编程的方式做到这一点?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-11-18 18:36:16

添加下面的Helper类:

代码语言:javascript
复制
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;
        }
    }

现在你可以从下面的代码中查看你想要的App是否正在运行:

代码语言:javascript
复制
if (Helper.isAppRunning(YourActivity.this, "com.your.desired.app")) {
    // App is running
} else {
    // App is not running
}
票数 152
EN

Stack Overflow用户

发布于 2019-10-09 14:36:20

isInBackground为app的状态

代码语言:javascript
复制
ActivityManager.RunningAppProcessInfo myProcess = new ActivityManager.RunningAppProcessInfo();
ActivityManager.getMyMemoryState(myProcess);
Boolean isInBackground = myProcess.importance != ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
票数 4
EN

Stack Overflow用户

发布于 2017-07-06 19:57:35

您可以通过以下方法进行检查

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4212992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档