为了账号安全,请及时绑定邮箱和手机立即绑定

Android开发笔记——判断App是否运行、前台、后台

标签:
Android

1.判断是否运行

<uses-permission android:name="android.permission.GET_TASKS" />
static boolean isAppRunning(Context context) {
    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    List<ActivityManager.RunningTaskInfo> list = null;
    if (activityManager != null) {
        list = activityManager.getRunningTasks(100);
    }
    if (list == null || list.size() <= 0) {
        return false;
    }
    for (ActivityManager.RunningTaskInfo info : list) {
        if (info.baseActivity.getPackageName().equals(context.getPackageName())) {
            return true;
        }
    }
    return false;
}

2.判断是否在前台

private static boolean isAppForeground(Context context) {
    if (context != null) {
        ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningAppProcessInfo> processes;
        if (activityManager != null) {
            processes = activityManager.getRunningAppProcesses();
        } else {
            return false;
        }
        for (ActivityManager.RunningAppProcessInfo processInfo : processes) {
            if (processInfo.processName.equals(context.getPackageName())) {
                MLog.i(FaceDetectionApp.TAG, "processInfo.importance = " + processInfo.importance);
                if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
                    return true;
                }
            }
        }
    }
    return false;
}

3.判断是否在后台

通过1和2 可以判断后台

原文链接:http://www.apkbus.com/blog-184446-78089.html

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消