2012-07-16 154 views
0

我正在編寫一個可以終止其他正在運行的應用程序的應用程序。爲此,我使用以下代碼如何在Android中殺死正在運行的應用程序

int pid = process.pid; 
android.os.Process.killProcess(pid); 
Log.e("killed",process.processName); 

我能夠顯示所有正在運行的應用程序。但是上面的兩行代碼並沒有殺死應用程序的進程(com.sample.mango)。我也可以看到市場上的幾個任務殺人應用程序。

所以我的問題是 - 是否有可能從其他應用程序中殺死正在運行的應用程序?

如果是,那麼殺死的方法是什麼? (爲什麼上面的代碼不工作)

回答

1

Android允許這些類型的應用程序?這不是由操作系統提供的服務,而不是第三方應用程序。我討厭如果我的應用程序被某些第三方應用程序殺死。

0

documentation

殺死與所述給定PID的過程。請注意,雖然這個API允許我們請求基於它的PID終止任何進程,但內核將仍然強制執行標準限制,您實際上可以使用其中的殺死哪些PID。通常這意味着只有運行調用者的程序包/應用程序以及由該應用程序創建的任何其他進程的進程;共享一個通用UID的軟件包也將能夠相互殺死對方的 進程。

這就是爲什麼killProcess不起作用。

您應該試試killBackgroundProcesses。不要忘記將KILL_BACKGROUND_PROCESSES添加到您的AndroidManifest.xml中。

相關問題