2017-10-09 28 views
-4

我正在構建應該能夠關閉其他android應用程序的應用程序。在這種情況下,我正在使用Google地圖。我已授予Android Manifest XML中的權限以killBackgroundProcesses,但以下代碼不會關閉「Google地圖」應用程序。我的應用程序每秒調用killApp()以確保Google地圖已關閉。任何想法我在這裏做錯了嗎?killBackgroundProcesses不工作,還有其他建議嗎?

public void KillApp() 
    { 
     Context context = getContext(); 
     String maps = "com.google.android.apps.maps"; 
     ActivityManager activityManager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE); 
     activityManager.killBackgroundProcesses(maps); 
    } 

回答

1

您只能殺死自己的應用程序,例如那些運行在相同進程或具有相同用戶ID的人。你不能殺死其他人,除非設備已經植根。除了Android操作系統本身之外,沒有人能夠殺死進程。

使用

public void restartPackage (String packageName) 

時,這個方法是由您的活動操作系統馬上打電話叫

大多數在Android Market任務殺手不殺他們剛剛重新啓動的過程中應用的

savedInstanceState並保存您想要殺死的活動的狀態。現在,這個過程是

從內存中刪除,並保存OS當下次用戶啓動該活動是

會從那裏被殺害或者換句話說,開始重新啓動它state.Now。你可以從任何

驗證它任務管理器,他們不殺死進程,因爲沒有人可以這樣做。這種方法也可以在ICS中工作。

以上方法你可以看看這裏。據我所知,killBackgroundProcesses(String packageName)適用於API 8及以上版本。

相關問題