国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android判斷當前App是在前臺還是在后臺

2019-12-12 05:29:36
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Android判斷當前App狀態的具體實現代碼,供大家參考,具體內容如下

第一種:

 /**  *判斷當前應用程序處于前臺還是后臺  *   * @param context  * @return   */ 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; }

上面這段代碼是需要一個權限的:

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

第二種:

下面這段代碼是我最新發現,無需權限,妥妥滴:

不過我稍微做了調整,后臺分為:service后臺和activity后臺,這里認為不是前臺的都認為后臺。
 •service運行在后臺,appProcess.importance = IMPORTANCE_SERVICE,
 •沒有service運行的后臺, 

public static boolean isBackground(Context context) {  ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);  List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();  for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {   if (appProcess.processName.equals(context.getPackageName())) {    if (appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {     System.out.print(String.format("Foreground App:", appProcess.processName));     return false;    }else{     System.out.print("Background App:"+appProcess.processName);     return true;    }   }  }  return false; }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天长市| 新疆| 建瓯市| 临沭县| 慈溪市| 前郭尔| 西乌珠穆沁旗| 池州市| 新疆| 怀宁县| 许昌市| 靖边县| 中宁县| 吉木乃县| 荆州市| 安西县| 罗城| 达孜县| 武威市| 家居| 阿拉善右旗| 鄯善县| 沧州市| 博湖县| 邵阳市| 资溪县| 临泉县| 柞水县| 陆川县| 上饶县| 晴隆县| 双辽市| 连山| 团风县| 龙川县| 兰州市| 尉氏县| 宜州市| 宁城县| 郸城县| 蓬莱市|