Android获取其他应用程序的PID

时间:2011-05-18 02:56:39

标签: java android

我希望能够启动一项活动或服务并尽快获得该流程的PID,这将是最好的情况。除了浏览/ proc目录之外,我还有其他任何选项,这会导致活动/服务启动时间与我在proc中找到我想要的内容之间的可变时间竞争条件目录并开始观察?

4 个答案:

答案 0 :(得分:11)

我认为您需要使用ActivityManager:请参阅http://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html以获取流程信息。你可以:

  1. 获取所有正在运行的应用程序进程。
  2. 找到你的应用。
  3. 获取其PID。

答案 1 :(得分:7)

ActivityManager activityManager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> pidsTask = activityManager.getRunningAppProcesses();

for(int i = 0; i < pidsTask.size(); i++) {
    nameList.add(pidsTask.get(i).processName);
    idList.add(pidsTask.get(i).uid);
}

pidsTask.get(i).uid //返回应用程序的PID(进程)

答案 2 :(得分:0)

试试这个

int id= android.os.Process.myPid();

答案 3 :(得分:-1)

for (RunningAppProcessInfo runningProInfo : runningProcInfo) {

    int pid = runningProInfo.pid;

    Log.e(TAG+"-pid", ""+pid);

}

TAG =“Name_Of_Your_Activity”