2011-06-10 85 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

相關問題