2016-12-31 88 views
0

我想優雅地關閉應用程序。我找到了兩種方法。要優雅地關閉Android應用程序需要說明

1.使用意圖:

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_HOME); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

文件說:

活動操作:啓動爲主要切入點,不希望接收數據。

類別家:這是家庭活動,這是設備啓動時顯示的第一個活動。

2.使用表面處理:

finish() 

文件說:

調用此當你的活動做和應該被關閉。

什麼是關閉Android應用程序的最佳方法或專業方法?兩者都關閉應用程序,但finish()在使用時將應用程序從緩存中刪除(應用程序不在最近的活動中),緩存不會被刪除。在完成活動時應該將緩存從單元格中移除?

+0

「關閉Android應用程序的最佳方法或專業方法是什麼?」 - 根本不做。 「但完成()從緩存中刪除應用程序」 - 不,它不,因爲一個活動不是一個應用程序。 「應用程序不在最近的活動中」 - 'finish()'不會從概覽屏幕(a.k.a.,最近的任務列表)中刪除應用程序,如果這就是你的意思。 – CommonsWare

回答

2

最好的辦法是正確的一個,因爲它在官方Doc的說:

調用此當你活動完成,應關閉。 ActivityResult會傳播給通過onActivityResult()啓動的任何人。

該應用程序是一系列活動。關閉應用程序意味着關閉應用程序的第一個活動。

您在文章中描述的第一種方法(1.使用Intents)似乎是一種解決方法;這與您的設備的物理主頁按鈕被按下時類似。它允許活動到備份堆棧並啓動設備的主頁(首頁)活動。