【问题标题】:Get Index value of specific string in a loop在循环中获取特定字符串的索引值
【发布时间】:2023-03-27 06:33:01
【问题描述】:

所以我正在尝试获取在我的手机上运行的某个应用程序的 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) 并获取属于该位置 (i) 的 PID。

我怎样才能做到这一点?

【问题讨论】:

  • 为什么不对这个键、值(processName、ProcessID)对使用映射?
  • 为什么不使用地图而不是列表...... Map 并根据值而不是键搜索地图? stackoverflow.com/questions/1383797/…

标签: java arrays string search indexing


【解决方案1】:

Map 建议不错,但如果你需要这样做,你可以循环遍历列表,并为每个字符串检查

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);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    相关资源
    最近更新 更多