我有一个应用程序,用户可以在系统中列出所有正在运行的任务,如果他愿意也可以杀死一些。
我的代码在这里:
public void killProcess(String PID) {
try {
Process p = Runtime.getRuntime().exec("/system/bin/kill " + PID);
Toast.makeText(getBaseContext(), "Process has been killed", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
Toast.makeText(getBaseContext(), e.getMessage().toString(), Toast.LENGTH_SHORT).show();
}
}
这适用于我,但只有当普通用户可以杀死应用程序时,我还没有授予应用程序超级用户权限,我不想,我想要的是,获取消息{{1当普通用户无法杀死它时,或Permission denied
。这就是全部。是否有任何想法可以正确完成?
我也看到Operation not permitted
也可以使用,因为它是一个Android的方法,但也不知道如何在这里获得例外。
由于
EDITED
工作代码:
Process.killProcess(int PID)
答案 0 :(得分:1)
您可以使用p.getErrorStream()
读取kill Process
打印到stderr的任何错误消息。您还可以检查p.waitFor()
的返回值,以查看命令是成功(0)还是失败(否则)。