最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android判斷應(yīng)用是否已經(jīng)啟動(dòng)的實(shí)例

 更新時(shí)間:2020年03月20日 09:37:51   作者:JayChan_95318  
這篇文章主要介紹了android判斷應(yīng)用是否已經(jīng)啟動(dòng)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

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

 /**
 * 判斷應(yīng)用是否已經(jīng)啟動(dòng)
 *
 * @param context   上下文對(duì)象
 * @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ǔ)充知識(shí):android判斷當(dāng)前應(yīng)用是否啟動(dòng)、app運(yùn)行狀態(tài)、某個(gè)界面是否在前臺(tái)工具類整理

來直接看代碼吧! 

/**
 * 判斷當(dāng)前應(yīng)用是否啟動(dò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 一個(gè)context
 * @return int 1:前臺(tái) 2:后臺(tái) 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
	}
}
 
 
/**
 * 判斷某個(gè)界面是否在前臺(tái)
 *
 * @param context
 * @param className 某個(gè)界面名稱
 */
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判斷應(yīng)用是否已經(jīng)啟動(dòng)的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

三明市| 敖汉旗| 永兴县| 潜山县| 沿河| 南平市| 华宁县| 淮北市| 崇文区| 额敏县| 彰化县| 犍为县| 秀山| 汉川市| 辰溪县| 白城市| 和林格尔县| 汉川市| 蓬安县| 白朗县| 南昌县| 黑山县| 台东县| 太白县| 苍梧县| 改则县| 黄石市| 扎赉特旗| 土默特右旗| 吴忠市| 聂拉木县| 海南省| 梁河县| 北川| 肥东县| 福贡县| 长子县| 石河子市| 东乡县| 长宁县| 柳林县|