zoukankan      html  css  js  c++  java
  • 判断app是否在后台

    1、通过RunningTaskInfo类判断(需要额外权限):(测试通过5.1可用,权限名称修改

    <uses-permission android:name="android.permission.REAL_GET_TASKS" />

     

    /**
         *判断当前应用程序处于前台还是后台
         */
        public static boolean isApplicationBroughtToBackground(final Context context) {
            ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
            List<RunningTaskInfo> tasks = am.getRunningTasks(1);
            if (!tasks.isEmpty()) {
                ComponentName topActivity = tasks.get(0).topActivity;
                if (!topActivity.getPackageName().equals(context.getPackageName())) {
                    return true;
                }
            }
            return false;

        }

    需要在AndroidMenitfest.xml文件中添加以下权限

     

    <uses-permission android:name="android.permission.GET_TASKS" />  

    2、通过RunningAppProcessInfo类判断(不需要额外权限)(5.1以上系统不可用): 

     

    public static boolean isBackground(Context context) {

        ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
        List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
        for (RunningAppProcessInfo appProcess : appProcesses) {
             if (appProcess.processName.equals(context.getPackageName())) {
                    if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
                              Log.i("后台", appProcess.processName);
                              return true;
                    }else{
                              Log.i("前台", appProcess.processName);
                              return false;
                    }
               }
        }
        return false;
    }

  • 相关阅读:
    Java 8 对 List<List<String>> 排序
    获取自然月的起始日期和终止日期
    Java 中如何计算两个字符串时间之间的时间差?(单位为分钟)
    Java StringJoiner
    回文数
    Java 中的值传递和引用传递问题
    substring
    集合的四种遍历方式
    Java 中的静态嵌套类和非静态嵌套类
    使用 Java 查找字符串中出现次数最多的字符以及出现的次数?
  • 原文地址:https://www.cnblogs.com/dongweiq/p/5938038.html
Copyright © 2011-2022 走看看