久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

android判斷應用是否已經啟動的實例

瀏覽:119日期:2022-09-26 09:20:59

我就廢話不多說了,還是直接看代碼吧!

/** * 判斷應用是否已經啟動 * * @param context 上下文對象 * @param packageName 要判斷應用的包名 * @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;}

補充知識:android判斷當前應用是否啟動、app運行狀態、某個界面是否在前臺工具類整理

來直接看代碼吧!

/** * 判斷當前應用是否啟動 * * @param context * @return */public static boolean getCurrentTask(Context context) {ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);//獲取當前所有存活task的信息List<RunningTaskInfo> appProcessInfos = activityManager.getRunningTasks(Integer.MAX_VALUE);//遍歷,若task的name與當前task的name相同,則返回true,否則,返回falsefor (RunningTaskInfo process : appProcessInfos) {if (process.baseActivity.getPackageName().equals(context.getPackageName())|| process.topActivity.getPackageName().equals(context.getPackageName())) {return true;}}return false;} /** * 返回app運行狀態 * * @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;}

以上這篇android判斷應用是否已經啟動的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
主站蜘蛛池模板: 安阳市| 东兰县| 盖州市| 华阴市| 东明县| 顺昌县| 吉安县| 丰镇市| 开封市| 尼勒克县| 新竹县| 泗阳县| 育儿| 桓台县| 牙克石市| 晋宁县| 如皋市| 贵德县| 全南县| 武宁县| 乾安县| 琼海市| 永吉县| 额尔古纳市| 理塘县| 镇巴县| 尼木县| 合阳县| 南雄市| 新乡县| 东阳市| 青冈县| 伊宁市| 盘锦市| 富川| 桂平市| 贵德县| 隆化县| 华蓥市| 苗栗县| 怀安县|