Android判斷程序運(yùn)行在后臺(tái)還是前臺(tái)

//第一種方法

需要清單文件
<uses-permission Android:name="android.permission.GET_TASKS" />

public static boolean isApplicationBroughtToBackground(final Context context) {
    //創(chuàng)建activity管理對(duì)象
   ActivityManager activityManager = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE);

    //取出RunningTask棧
   List<ActivityManager.RunningTaskInfo> list =activityManager.getRunningTasks(1);
    //判斷是否為空
    if (!list.isEmpty()){
        //取出運(yùn)行在棧頂?shù)娜蝿?wù)進(jìn)程
        ComponentName componentName = list.get(0).topActivity;
        //判斷任務(wù)進(jìn)程的包名是否和想要判斷的程序包名相同
        if (componentName.getPackageName().equals(context.getPackageName())){
            //相同則說(shuō)明你該程序運(yùn)行在前臺(tái),則返回ture
            return true;
        }
    }
    //否則返回false
    return false;
}

//第二種方法

public static boolean isBackground(Context context) {
    //創(chuàng)建activity管理對(duì)象
    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    //獲取當(dāng)前正在運(yùn)行的進(jìn)程的list
    List<ActivityManager.RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
    //找到需要判斷的程序的進(jìn)程
    //從appProcesses把進(jìn)程一個(gè)一個(gè)取出
    for (ActivityManager.RunningAppProcessInfo appProcess : appProcesses) {

        //判斷包名來(lái)找到自己的程序
        if (appProcess.processName.equals(context.getPackageName())) {

            /*
            * IMPORTANCE_BACKGROUND   后臺(tái)
        IMPORTANCE_EMPTY    空
        IMPORTANCE_FOREGROUND   前臺(tái)
        IMPORTANCE_PERCEPTIBLE  //后臺(tái),但是可以和用戶進(jìn)行交互(一般音樂(lè)播放器)
       IMPORTANCE_SERVICE    服務(wù)
        IMPORTANCE_VISIBLE    可見(jiàn)
            * */

            //判斷importance屬性是否為IMPORTANCE_BACKGROUND?
            if (appProcess.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
                Log.i("后臺(tái)", appProcess.processName);
                return true;
            }else{
                Log.i("前臺(tái)", appProcess.processName);
                return false;
            }
        }
    }
    return false;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,094評(píng)論 25 709
  • 寫(xiě)在前面:本身是不想更文了,畢竟離著周末還有四天,完全有時(shí)間來(lái)寫(xiě)剩下的文章??墒牵以谌豪锾嵝汛蠹襾?lái)更文了啊,自己...
    貓餅干閱讀 286評(píng)論 0 0
  • 2016年6月26日 那一天,我畢業(yè)了。 那天晚上,我從學(xué)校趕回廣州,走出校門的那一刻,心里突然有一種落空感。我看...
    蘇了了閱讀 392評(píng)論 0 0
  • 秘密 文||與你相識(shí) 不敢多說(shuō)一句 怕會(huì)影響你 深藏的記憶 早以無(wú)法記起 夢(mèng)里念過(guò)名字 不知在哪里 有過(guò)的等待 已...
    與你相識(shí)_40fa閱讀 240評(píng)論 4 2

友情鏈接更多精彩內(nèi)容