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

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

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


点击下载相关代码

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值