這篇文章主要介紹了android怎么判斷應(yīng)用是否已經(jīng)啟動,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了靜樂免費(fèi)建站歡迎大家使用!
我就廢話不多說了,還是直接看代碼吧!
/** * 判斷應(yīng)用是否已經(jīng)啟動 * * @param context 上下文對象 * @param packageName 要判斷應(yīng)用的包名 * @return boolean */ public static boolean isAppAlive(Context context, String packageName) { ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo> processInfos = activityManager.getRunningAppProcesses(); for (int i = 0; i < processInfos.size(); i++) { if (processInfos.get(i).processName.equals(packageName)) { return true; } } return false; }
補(bǔ)充知識:android判斷當(dāng)前應(yīng)用是否啟動、app運(yùn)行狀態(tài)、某個界面是否在前臺工具類整理
來直接看代碼吧!
/** * 判斷當(dāng)前應(yīng)用是否啟動 * * @param context * @return */ public static boolean getCurrentTask(Context context) { ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); //獲取當(dāng)前所有存活task的信息 List<RunningTaskInfo> appProcessInfos = activityManager.getRunningTasks(Integer.MAX_VALUE); //遍歷,若task的name與當(dāng)前task的name相同,則返回true,否則,返回false for (RunningTaskInfo process : appProcessInfos) { if (process.baseActivity.getPackageName().equals(context.getPackageName()) || process.topActivity.getPackageName().equals(context.getPackageName())) { return true; } } return false; } /** * 返回app運(yùn)行狀態(tài) * * @param context 一個context * @return int 1:前臺 2:后臺 0:不存在 */ public static int isAppAlive(Context context) { String packageName = PackageUtil.getAppProcessName(context); ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> listInfos = activityManager.getRunningTasks(20); // 判斷程序是否在棧頂 if (listInfos.get(0).topActivity.getPackageName().equals(packageName)) { return 1; } else { // 判斷程序是否在棧里 for (ActivityManager.RunningTaskInfo info : listInfos) { if (info.topActivity.getPackageName().equals(packageName)) { return 2; } } return 0;// 棧里找不到,返回0 } } /** * 判斷某個界面是否在前臺 * * @param context * @param className 某個界面名稱 */ public static boolean isActivityForeground(Context context, String className) { if (context == null || TextUtils.isEmpty(className)) { return false; } ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> list = am.getRunningTasks(1); if (list != null && list.size() > 0) { ComponentName cpn = list.get(0).topActivity; if (className.equals(cpn.getClassName())) { return true; } } return false; }
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“android怎么判斷應(yīng)用是否已經(jīng)啟動”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
本文題目:android怎么判斷應(yīng)用是否已經(jīng)啟動
網(wǎng)站鏈接:http://muchs.cn/article28/gjsojp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網(wǎng)站設(shè)計、定制開發(fā)、企業(yè)網(wǎng)站制作、軟件開發(fā)、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)