原来5.0之后google屏蔽了原来获取方法,例如
public boolean isRunning(){
try
{
ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> infos = am.getRunningAppProcesses();
for(RunningAppProcessInfo rapi : infos){
if(rapi.processName.equals(packageName))
return true;
}
}
catch(Exception e)
{
}
return false;
}
这样在5.0之后是获取不到的,只能获取到当前应用的信息。在网上搜了很多发现是5.0之后屏蔽了这个接口了。可以用下面的方法来获取:
public static boolean isRunning(Context context, String packageName) {
List<ActivityManager.RunningAppProcessInfo> lsit =new ArrayList<ActivityManager.RunningAppProcessInfo>();
list= ProcessManager.getRunningAppProcessInfo(context);
for(int i=0;i<lsit.size();i++){
if(list.get(i).processName.equals(packageName)){
return true;
}
}
return false;
}
这个要调用到高手写的转换类,下载地址:
点击下载相关代码
下载下来后直接解压到自己的项目按上面的代码调用就行了,里面还有获取在后台运行的应用,可以自己看代码自己调用。