欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android判斷當(dāng)前App是在前臺(tái)還是在后臺(tái)

 更新時(shí)間:2016年08月30日 11:40:54   作者:xx326664162  
這篇文章主要為大家詳細(xì)介紹了Android判斷當(dāng)前App是在前臺(tái)還是在后臺(tái)的方法,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Android判斷當(dāng)前App狀態(tài)的具體實(shí)現(xiàn)代碼,供大家參考,具體內(nèi)容如下

第一種:

 /**
  *判斷當(dāng)前應(yīng)用程序處于前臺(tái)還是后臺(tái)
  * 
  * @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;
 }

上面這段代碼是需要一個(gè)權(quán)限的:

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

第二種:

下面這段代碼是我最新發(fā)現(xiàn),無需權(quán)限,妥妥滴:

不過我稍微做了調(diào)整,后臺(tái)分為:service后臺(tái)和activity后臺(tái),這里認(rèn)為不是前臺(tái)的都認(rèn)為后臺(tái)。
 •service運(yùn)行在后臺(tái),appProcess.importance = IMPORTANCE_SERVICE,
 •沒有service運(yùn)行的后臺(tái), 

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;
 }

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論