源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Android判断当前应用程序处于前台还是后台的两种方法

  • 时间:2021-03-28 13:23 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android判断当前应用程序处于前台还是后台的两种方法
1、通过RunningTaskInfo类判断(需要额外权限):
[u]复制代码[/u] 代码如下:
/**      *判断当前应用程序处于前台还是后台      */     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文件中添加以下权限
[u]复制代码[/u] 代码如下:
<uses-permission android:name="android.permission.GET_TASKS" /> 
2、通过RunningAppProcessInfo类判断(不需要额外权限):
[u]复制代码[/u] 代码如下:
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; }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部