16

首先,我知道在 Android 中使用任务管理器/杀手是不好的,但我想知道的是任务管理器是如何Advanced Task Killer杀死其他应用程序的?
我想开发一个简单的应用程序来做这件事,只是为了学习经验。
我尝试从我的应用程序中执行 Linux 命令kill pid但它不起作用,也许它需要 root?

那么,我如何从我的应用程序中实现这一点?我有一个简单的 ListActivity ,它显示当前正在运行的任务,当用户长按我想终止该任务的项目时。

4

4 回答 4

12

您可以使用以下方式发送信号:

Process.sendSignal(pid, Process.SIGNAL_KILL);

要完全终止进程,建议调用:

ActivityManager.killBackgroundProcesses(PackageName)

在发送信号之前。

于 2011-06-12T19:23:11.940 回答
1

slayton 在这个问题上有很好的答案。我在他的答案中添加了这个细节:
- 当你使用时ActivityManager.killBackgroundProcesses(PackageName),你不能杀死前台进程。

我在 K_Anas 对这个问题的回答中看到了这些开源项目链接:
-github存储库
-code.google

于 2012-07-25T12:15:59.987 回答
0

试试这个,

android.os.Process.killProcess(pid)

那可行...

于 2012-07-25T09:32:15.370 回答
-1

1-添加到清单

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>

2 - 在您的代码中

Runtime.getRuntime().exec("adb shell killall com.example.app");

注意: 您的应用需要有权访问 adb shell system/app(root 权限)

于 2016-10-26T15:29:23.183 回答