app是否正在运行/运行状态
2019-08-22 本文已影响0人
CQ_TYL
/**
* 返回app运行状态
* @param packageName 要判断应用的包名
* @return int 1:前台 2:后台 0:不存在
*/
private int isAppAlive(Context context, String packageName) {
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;// 栈里找不到,返回3
}
}