2017-04-27 166 views
0

我需要殺死我的應用程序的所有線程並重新啓動應用程序。我用google搜索了一些方法,我用這種方法殺死了應用程序。但我不知道如何重新啓動我的應用程序 。如何殺死應用程序線程並重新啓動它?

android.os.Process.killProcess(android.os.Process.myPid()); 

你能告訴如何解決它嗎?謝謝。

+0

你爲什麼認爲你需要這樣做?你真的不想這麼做。 –

+0

我想使用hotfix,如[Tinker](https://github.com/Tencent/tinker)。當我下載補丁程序時,我需要重新啓動應用程序以使補丁程序正常工作。 –

+0

你可以使用'recreate();' –

回答

0

通過一個過程,您可以在AlarmManager中安排一個警報,在幾秒鐘內打開一些活動/服務/接收器,然後終止當前進程。然而,在Android的新版本中,您不可能在需要時啓動它(期望延遲幾分鐘)。

另一種選擇是在第二過程中您的應用程序是「重新啓動裝置」的服務或接收器,你會殺了第一個過程之前請打電話。然後,重新啓動服務可能會在bg線程中等待幾秒鐘,以便第一個進程死亡,然後在第一個進程中調用某個組件(活動/接收器/服務)以重新啓動它。