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),無(wú)需權(quán)限,妥妥滴:
不過(guò)我稍微做了調(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,
•沒(méi)有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;
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android Studio格式化(Format)代碼快捷鍵介紹
這篇文章主要介紹了Android Studio格式化(Format)代碼快捷鍵,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
Android實(shí)現(xiàn)手指觸控圖片縮放功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)手指觸控圖片縮放功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
Android 系統(tǒng)服務(wù)TelecomService啟動(dòng)過(guò)程原理分析
這篇文章主要介紹了Android 系統(tǒng)服務(wù)TelecomService啟動(dòng)過(guò)程原理分析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Android 中通過(guò)實(shí)現(xiàn)線程更新Progressdialog (對(duì)話進(jìn)度條)
這篇文章主要介紹了Android 中通過(guò)實(shí)現(xiàn)線程更新Progressdialog (對(duì)話進(jìn)度條)的相關(guān)資料,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
Android使用屬性動(dòng)畫(huà)如何自定義倒計(jì)時(shí)控件詳解
自Android 3.0版本開(kāi)始,系統(tǒng)給我們提供了一種全新的動(dòng)畫(huà)模式,屬性動(dòng)畫(huà)(property animation),它的功能非常強(qiáng)大,下面這篇文章主要給大家介紹了關(guān)于Android使用屬性動(dòng)畫(huà)如何自定義倒計(jì)時(shí)控件的相關(guān)資料,需要的朋友可以參考下2018-05-05
使用Android開(kāi)發(fā)接入第三方原生SDK實(shí)現(xiàn)微信登錄
這篇文章主要介紹了使用Android開(kāi)發(fā)接入第三方原生SDK實(shí)現(xiàn)微信登錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
Android實(shí)現(xiàn)TextView字符串關(guān)鍵字變色的方法
這篇文章顯示給大家介紹了字符串中關(guān)鍵字變色的實(shí)現(xiàn)方法,而后又拓展介紹了在Android中如何實(shí)現(xiàn)搜索關(guān)鍵字變色,相信對(duì)各位Android開(kāi)發(fā)者們具有一定的參考借鑒價(jià)值,感興趣的朋友們下面來(lái)一起看看吧。2016-10-10
Android 三種動(dòng)畫(huà)詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了Android 三種動(dòng)畫(huà)詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-04-04
Android progressbar實(shí)現(xiàn)帶底部指示器和文字的進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了Android progressbar實(shí)現(xiàn)帶底部指示器和文字的進(jìn)度條,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01

