判斷當前 App 是否被切換到後臺的方法
有兩種方法:
1. 需要許可權 <uses-permission android:name="android.permission.GET_TASKS"/>, 普通App也可獲取,不需要確認,Android 5.1 之後已經廢棄,但是 compileSdkVersion 設為 28 還可以使用,方法如下:
public static boolean isApplicationBroughtToBackground(final Context context) { ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> tasks = am.getRunningTasks(1); if (!tasks.isEmpty()) { ComponentName topActivity = tasks.get(0).topActivity; if (!topActivity.getPackageName().equals(context.getPackageName())) { return true; } } return false; }
2. 不需要許可權:
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_BACKGROUND) { Log.i("後臺", appProcess.processName); return true; }else{ Log.i("前臺", appProcess.processName); return false; } } } return false; }
其他,獲取當前 App 程序名字:
public static String getCurrentProcessName(Context context) { try { int myid = Process.myPid(); ActivityManager am = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> appProcesses = am.getRunningAppProcesses(); Iterator iter = appProcesses.iterator(); while(iter.hasNext()) { ActivityManager.RunningAppProcessInfo info = (ActivityManager.RunningAppProcessInfo)iter.next(); if (info.pid == myid) { return info.processName; } } } catch (Exception e) { } return null; }
相關推薦
判斷當前 App 是否被切換到後臺的方法
有兩種方法: 1. 需要許可權 <uses-permission android:name="android.permission.GET_TASKS"/>, 普通App也可獲取,不需要確認,Android 5.1 之後已經廢棄,但是 compileSdkVe
32.js 判斷當前頁面是否被瀏覽
span bili string key opera ont ber style iter 可以通過document.hidden屬性判斷當前頁面是否是激活狀態。 兼容性:IE10+,Firefox10+,Chrome14+,Opera12.1+,Safari7.1+ 兼容
判斷指定App是否位於前臺的方法
原文地址:http://p.codekk.com/detail/Android/wenmingvs/AndroidProcess 提供6種方法來判斷App處於前臺還是後臺,並且封裝成工具類供大家使用 最後一種方法堪稱android黑科技(非原創),既可以突破Andro
MFC的View子類中判斷當前view是否是活動的方法
CMDIFrameWnd *pFrame = (CMDIFrameWnd *)AfxGetApp()->m_pMainWnd; CMDIChildWnd *pChild = (CMDIChildWnd *)pFrame->GetActiveFrame(); C
判斷當前app是debug還是release
//判斷當前應用是否是debug狀態 public static boolean isApkInDebug(Context context) { try { ApplicationInfo info = context.getApplication
【Android】App應用前後臺切換的一種監聽方法
Android本身並沒有提供監聽App的前後臺切換操作的方法。最近看到一種簡單巧妙的方法來監聽前後臺,這裡分享記錄一下。 一、Activity生命週期 我們知道在Android中,兩個Activity,分別為A和B。假設此時A在前臺,當A啟動B時,他們倆之間的生命週期關係如下,可
在java後臺判斷當前時間是上午還是下午?
[java] view plain copy //結果為“0”是上午 結果為“1”是下午 public class Gr
移動APP開發工作筆記002---Hbuilder js判斷當前裝置是安卓裝置還是蘋果裝置
JAVA技術交流QQ群:170933152 js判斷是否為手機系統是安卓還是蘋果,是否為微信瀏覽器
判斷當前環境是大端法還是小端法的兩種方法
1:寫一個聯合體判斷 ///一個32位四位元組的整數值,例如:1,實際的計算機編碼表示是0x000000001 ///小端系統中在記憶體中的表示是 01 00 00 00 ///大端系統中在記憶體中的表示是 00 00 00 01 union EndianTest{ int8
C/C++|Qt工作筆記-4種方法判斷當前物件(類)名或標識(繼承發,typeid法,元物件className()法,Q_CLASSINFO法)
回想起3個月前,剛剛參加工作也做過類似的筆記,但只有2種方法,估計剛畢業沒有什麼墨水,經過3個月時間又多了2種方法: 這些方法都可用於RTTI 第一個方法是繼承發(C++中很推薦用這個,感覺用這個結構會很清晰): 執行截圖如下: 原始碼如下: #
android根據當前系統設定語言在app實現中英文切換
今天介紹下安卓開發下面,如何實現中英文相互切換, 一,需要在res下新建資料夾,大陸中文為values-zh-rCN,英文values-en-rUS,更多可以參考http://my.oschina.net/quttap/blog/204499,直接用values-zh,va
判斷當前的app是否是debug版本,避免空,不容易出錯。
相信網上有很多的文章都介紹了app是否是debug版本的程式碼,無一我想要的那個。 廢話不說,這個是為了避免異常 public static boolean isAppDebug() { if (StringUtils.isSpace(context.getPacka
ios 快速判斷當前網路狀態(三種方法)
一、利用AFN框架 //1.建立網路狀態監測管理者 AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager]; //2.監聽改變 [manager setReach
今天我被坑了 Bigdecimal型別判斷是否等於0(用equals方法的坑)
info.getGiveMoney()=0.00BigDecimal.ZERO.equals(info.getGiveMoney();居然返回 false坑啊Bigdecimal的equals方法不僅僅比較值的大小是否相等,首先比較的是scale(scale是bigdecim
Android - 判斷當前應用執行在前臺還是後臺
判斷android當前執行在前臺還是後臺,有兩種解決方案: 第一種:當app1開啟顯示在最上面頁面時返回true, 但是當app1開啟執行在後臺,app開啟執行在最上面頁面時也返回true。 private boolean isTopActivity() { Activity
註冊JQuery使用ajax呼叫後臺方法,判斷使用者名稱、郵箱是否存在,並顯示隱藏提示
JavaScript程式碼 function existUserName(userName, reqUserName) { if (userName.val().length > 0) { $.a
android中判斷當前執行activity名的方法
本文例項講述了android獲取當前執行Activity名字的方法,可以避免即時聊天再出現通知的情況。分享給大家供大家參考。具體方法如下: 最近在做聊天時需要知道當前Activity是哪一個Activity.整理了兩種方法: 第一種:要方便一點(Service中無法使
APP怎麼判斷自己是處於前臺還是後臺
RunningTask 原理: 當一個 App 處於前臺的時候,會處於 RunningTask 的這個棧的棧頂,所以我們可以取出 RunningTask 的棧頂的任務程序,看他與我們的想要判斷的 App 的包名是否相同,來達到效果 缺點: getRunn
android 判斷當前application 是在前臺還是在後臺
/** *判斷當前應用程式處於前臺還是後臺 * * @param context * @return */ public static boolean isApplicationBroughtToBa
判斷當前日期為星期幾(Calendar類方法的使用)
java.util.Calendar(抽象類):它表示一個“日曆”,可以進行日期運算;它是一個抽象類,不能直接使用。我們可以通過它的一個靜態方法:getInstance()獲取一個物件。