所以我正在尝试获取手机上正在运行的某个应用的PID(进程ID)。
我首先要做的是:
ActivityManager activityManager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> pidsTask = activityManager.getRunningAppProcesses();
for(int i = 0; i < pidsTask.size(); i++){
nameList.append(pidsTask.get(i).processName + pidsTask.get(i).pid + "\n");
}
这是来自当前正在运行的“每个”应用的名称+ PID。
现在,我想获取某个应用名称“Com.ExampleName”的PID。 由于PID可以是动态的并且可以改变,我希望它能够在数组中搜索名称,获取位置(i)并获得属于该位置的PID(i)。
我怎样才能完成这个?
答案 0 :(得分:0)
地图建议很好,但如果您需要这样做,您可以遍历列表,并为每个字符串检查
if nameList.get(i).substring(0,appName.length).equals(appName) {
String pidStr = nameList.get(i).substring(appName.length,nameList.get(i).length())
int pid= Integer.parseInt(pidStr);
}