当前位置:首页 > 安卓源码 > 技术博客 >

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

时间:2018-07-02 14:39 来源:互联网 作者:源码搜藏 浏览: 收藏 挑错 推荐 打印

1.判断是否运行 uses-permission android :name= android.permission.GET_TASKS / static boolean isAppRunning (Context context) { ActivityManager activityManager = (ActivityManager) context.getSystemService(Context. ACTIVITY_SERVICE ) ; ListAct 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 可以判断后台
Android开发笔记——判断App是否运行、前台、后台 转载https://www.codesocang.com/appboke/38629.html

技术博客阅读排行

最新文章