2011-06-10 90 views
13

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

那么,我该如何从我的应用程序中完成此操作?我有一个简单的ListActivity,它显示当前正在运行的任务,以及用户何时长按一个项目我想杀死该任务。

+0

看看http://stackoverflow.com/questions/4921244/android-task - 技能,涵盖了这一点。 – 2011-06-10 08:11:42

+1

谢谢,但我已经阅读过这篇文章:)虽然它并没有回答我的问题,但Process.killProcess函数只允许一个杀死我自己的进程而不是其他人,如果我没有错的话。我也试过它在我的应用程序,但它没有工作:/ – 2011-06-10 08:40:51

回答

9

您可以通过发送信号:

Process.sendSignal(pid, Process.SIGNAL_KILL); 

完全杀死的过程中,建议拨打:

ActivityManager.killBackgroundProcesses(PackageName) 

发送信号之前。

+0

其中是ActivityManager.killBackgroundProcesses ...它说,该方法是未定义的... – Taranasus 2011-09-12 14:27:49

+0

没关系我使用api 7 – Taranasus 2011-09-12 15:18:49

+1

所以这真的会杀死外部应用程序?我不确定如何检查。 ActivityManager.killBackgroundProcesses(PACKAGENAME); Process.sendSignal(pid,Process.SIGNAL_KILL); – 2011-11-10 09:58:22

0

试试这个,

android.os.Process.killProcess(pid) 

,将工作...

-1

1加来体现

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

2 - 在你的代码

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

注:您的应用需要访问亚行壳系统/应用程序(root权限)

+1

您需要拥有root权限 – Yehonatan 2017-02-01 13:10:32

相关问题