Har*_*ari 6 android pid process
如何获取runtime.getruntime().exec()
通过Android应用程序启动的进程的进程ID ?
这是问题..我从UI APP使用runtime.getruntime().exec()启动一个进程.如果我的Android UI应用程序仍在运行,我可以使用destroy来终止进程..但是说我使用home或back按钮退出应用程序,当我重新打开ui app时,进程对象为null.那么我需要进程的PID来杀死它.
有一个更好的方法吗?
Android java.lang.Process
实现是java.lang.ProcessManager$ProcessImpl
,它有字段private final int pid;
.它可以来自反思:
public static int getPid(Process p) {
int pid = -1;
try {
Field f = p.getClass().getDeclaredField("pid");
f.setAccessible(true);
pid = f.getInt(p);
f.setAccessible(false);
} catch (Throwable e) {
pid = -1;
}
return pid;
}
Run Code Online (Sandbox Code Playgroud)
另一种方法 - 使用toString:
public String toString() {
return "Process[pid=" + pid + "]";
}
Run Code Online (Sandbox Code Playgroud)
你可以解析输出并获得没有反射的pid.
归档时间: |
|
查看次数: |
3837 次 |
最近记录: |