0

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

4

2 回答 2

1

出于明显的隐私原因,没有Intent关于进入或离开前台的活动的广播。

于 2012-09-26T12:21:48.680 回答
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;
   }
于 2012-09-26T12:33:41.547 回答