原来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;
    }

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


点击下载相关代码

下载下来后直接解压到自己的项目按上面的代码调用就行了,里面还有获取在后台运行的应用,可以自己看代码自己调用。