android广播接收器检测应用程序在后台更改

时间:2012-09-26 10:26:49

标签: android background broadcastreceiver task

当其他应用程序进入后台时,是否有捕获?我们可以注册接收该事件的任何广播接收器吗?

2 个答案:

答案 0 :(得分:1)

出于显而易见的隐私原因,没有关于前往或离开前台的活动的广播Intent

答案 1 :(得分:1)

您可以编写一个定期监视正在运行的服务的后台服务,如果出现新服务则会引发一个标志。 使用它来获取正在运行的服务列表:

    public List<String> getRunningServices(Context context){
        ActivityManager activityManager = (ActivityManager) context
                .getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningServiceInfo> serviceList = activityManager
                .getRunningServices(Integer.MAX_VALUE);
        List<String> rServices = new ArrayList<String>();
        for (int i = 0; i < serviceList.size(); i++) {
            RunningServiceInfo serviceInfo = serviceList.get(i);
            ComponentName serviceName = serviceInfo.service;            
            rServices.add(serviceName.getClassName());      
        }
        return rServices;
   }