我希望能够启动一项活动或服务并尽快获得该流程的PID,这将是最好的情况。除了浏览/ proc目录之外,我还有其他任何选项,这会导致活动/服务启动时间与我在proc中找到我想要的内容之间的可变时间竞争条件目录并开始观察?
答案 0 :(得分:11)
我认为您需要使用ActivityManager:请参阅http://developer.android.com/reference/android/app/ActivityManager.RunningAppProcessInfo.html以获取流程信息。你可以:
答案 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”