編輯:關於Android編程
本文實例為大家分享了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; }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。
上一篇寫了一個可隨時暫停的圓形進度條,接下來再來撸一個帶小圓圈的倒計時View,主要難點是對於隨著進度條變化而變化的小圓的繪制。看了givemeacondom大神寫的小圓
本文實例講述了Android編程開發實現帶進度條和百分比的多線程下載。分享給大家供大家參考,具體如下:繼上一篇《java多線程下載實例詳解》之後,可以將它移植到我們的安卓
由於剛踏入Android逆向分析領域,因此有許多的不懂,所以得不斷地去學習。因為是入門,我又有一定的Android應用開發基礎,所以先從一些簡單工程的反編譯開始入手,先了
1.Java JDK需要先說明下,OS X系統是自帶有Java JDK1.6的。不過這裡我安裝的是JDK7,下載地址:http://www.oracle.co