我正在编写一个 Android 应用程序。现在我将介绍应用程序应该终止进程的部分。但我不知道它的全名或 PID。我知道命令:
android.os.Process.killProcess(Pid)
和
android.os.Process.getUidForName("com.android.email")
但我的问题是我不知道进程的全名。
这是一个 native 代码进程,所以不像 com.something.something
进程是/data/data/com.something.something/mybinary
但它正在运行类似
的命令/data/data/com.something.something/mybinary -a 123 -b 456
因为这个我不能用
android.os.Process.getUidForName("/data/data/com.something.something/mybinary")
最佳答案
您可以使用:
ActivityManager manager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> services = manager.getRunningAppProcesses();
String service1name = services[1].processName;
你可以获取所有正在运行的进程的包名,查看你要杀死哪个进程,选择那个进程通过service.pid获取进程id。
然后调用:
android.os.Process.killProcess(service.pid);
关于java - 获取进程的 PID 以在不知道其全名的情况下将其杀死,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8625212/