真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

android怎么判斷應(yīng)用是否已經(jīng)啟動(dòng)

這篇文章主要介紹了android怎么判斷應(yīng)用是否已經(jīng)啟動(dòng),具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了靜樂免費(fèi)建站歡迎大家使用!

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

 /**
 * 判斷應(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 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 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 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 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)啟動(dòng)”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!


網(wǎng)站標(biāo)題:android怎么判斷應(yīng)用是否已經(jīng)啟動(dòng)
本文網(wǎng)址:http://weahome.cn/article/gjsojp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部