app是否正在运行/运行状态

2019-08-22  本文已影响0人  CQ_TYL
    /**
     * 返回app运行状态
     * @param packageName  要判断应用的包名
     * @return int 1:前台 2:后台 0:不存在
     */
    private   int isAppAlive(Context context, String packageName) {
        ActivityManager activityManager = (ActivityManager) context
                .getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningTaskInfo> listInfos = activityManager
                .getRunningTasks(20);
        // 判断程序是否在栈顶
        if (listInfos.get(0).topActivity.getPackageName().equals(packageName)) {
            return 1;
        } else {
            // 判断程序是否在栈里
            for (ActivityManager.RunningTaskInfo info : listInfos) {
                if (info.topActivity.getPackageName().equals(packageName)) {
                    return 2;
                }
            }
            return 0;// 栈里找不到,返回3
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读