您的位置:首页 > 移动开发 > Android开发

安卓获取正在运行的应用和在后台运行的应用。兼容5.0之后的版本。

2016-03-20 18:41 603 查看
原来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;
}


这个要调用到高手写的转换类,下载地址:

点击下载相关代码


下载下来后直接解压到自己的项目按上面的代码调用就行了,里面还有获取在后台运行的应用,可以自己看代码自己调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 应用