1

getRunningAppProcesses()中,可以得到当前运行进程的所有 PID。

但是给定一个PID,它的进程当前可能携带一个activity(在任务栈的顶部)或者多个service,如何知道这些activity或者service的名字呢?

4

2 回答 2

1

getRunningServices对于服务,您可以通过 pid调用和过滤。对于活动,您可以使用getRunningTasks,然后检索topActivity每个活动。您必须执行诸如按包过滤之类的操作,这很容易获得。

于 2013-02-15T00:51:42.390 回答
0
    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
        final Handler   handler = new Handler(); 

            final Runnable r = new Runnable() {
                public void run() { 
                    Log.e("start", "stsrt");


                    ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
                    List<RunningTaskInfo> tasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
                    List<RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();

                    for (int i = 0; i < procInfos.size(); i++) {
                        Log.e("Running task", "Running task: " + procInfos.get(i).processName);
                    } 
                    handler.postDelayed(this, 1000);
                } 
            }; 

            handler.postDelayed(r, 1000);

        }
    });
于 2015-01-02T07:22:16.617 回答