沈阳斌子在今天项目需求上碰到个这样的问题,在Service中需要判断当前的程序是否是活动状态,换句话说也就是说后台跑的服务中有业务需求检测当前程序是否是该服务的程序 这样好让点击推送通知时跳转到不同的页面进行不同的操作。下面就粘贴出我封装了一下的方法和大家共享。
/**
*
* @Description : 这个包名的程序是否在运行
* @Method_Name : isRunningApp
* @param context 上下文
* @param packageName 判断程序的包名
* @return 必须加载的权限
* <uses-permission android:name="android.permission.GET_TASKS" />
* @return : boolean
* @Creation Date : 2014-10-31 下午1:14:15
* @version : v1.00
* @Author : JiaBin
* @Update Date :
* @Update Author : JiaBin
*/
public static boolean isRunningApp(Context context, String packageName) {
boolean isAppRunning = false;
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> list = am.getRunningTasks(100);
for (RunningTaskInfo info : list) {
if (info.topActivity.getPackageName().equals(packageName) && info.baseActivity.getPackageName().equals(packageName)) {
isAppRunning = true;
// find it, break
break;
}
}
return isAppRunning;
}Android 判断程序在手机中是否是活动状态或者正在运行状态
原文:http://blog.csdn.net/sy_bz/article/details/40653887