• 判断App整体处于前台还是后台


    1、通过RunningTaskInfo类判断(需要额外权限):

    复制代码代码如下:

    [java] view plaincopy
     
     
    1. /** 
    2.      *判断当前应用程序处于前台还是后台 
    3.      */  
    4.     public static boolean isApplicationBroughtToBackground(final Context context) {  
    5.         ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);  
    6.         List<RunningTaskInfo> tasks = am.getRunningTasks(1);  
    7.         if (!tasks.isEmpty()) {  
    8.             ComponentName topActivity = tasks.get(0).topActivity;  
    9.             if (!topActivity.getPackageName().equals(context.getPackageName())) {  
    10.                 return true;  
    11.             }  
    12.         }  
    13.         return false;  
    14.     }  

    需要在AndroidMenitfest.xml文件中添加以下权限
    复制代码代码如下:

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

    2、通过RunningAppProcessInfo类判断(不需要额外权限): 

    复制代码代码如下:

    [java] view plaincopy
     
     
    1. public static boolean isBackground(Context context) {  
    2.     ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);  
    3.     List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();  
    4.     for (RunningAppProcessInfo appProcess : appProcesses) {  
    5.          if (appProcess.processName.equals(context.getPackageName())) {  
    6.                 if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {  
    7.                           Log.i("后台", appProcess.processName);  
    8.                           return true;  
    9.                 }else{  
    10.                           Log.i("前台", appProcess.processName);  
    11.                           return false;  
    12.                 }  
    13.            }  
    14.     }  
    15.     return false;  
    16. }  

    在处理推送的时候会用到

  • 相关阅读:
    HDU2519(组合数计算)
    CodeForces
    UVA 10976(暴力)
    UVA 11059(暴力)
    UVA725
    配置三层交换机DHCP
    通过三层交换机不同vlan之间通信
    AGC006C & CF1110E
    多项式全家桶
    一些模板(持续更新中)
  • 原文地址:https://www.cnblogs.com/chenliyang/p/6558836.html
Copyright © 2020-2023  润新知