1. 程式人生 > >安卓中,當activity處於不可見時將立即消毀

安卓中,當activity處於不可見時將立即消毀

有時候我們在安卓開發下,從A 介面(Activity) 跳轉到B介面(Activity),再從B介面(activity)時,希望將B介面銷燬,大多的選擇是在B介面startActivity時,呼叫finish();方法;

這樣固然會讓b介面的生命週期走向onDestory。其實我們可以在跳轉的intent中新增一個屬性,也可以達到finish的效果;

 Intent.FLAG_ACTIVITY_NO_HISTORY  :If set, the new activity is not kept in the history stack. As soon as the user navigates away from it, the activity is finished. This may also be set with the 

attribute.

A介面啟動跳轉到B介面 的時候 設定   intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);  然後 B介面 啟動 C介面  ,然後  按返回鍵,這個時候介面顯示不是B,而是 A ,注意B  是在這個時候執行的是B介面的finish方法,同樣的思想,若C介面也希望被銷燬,也可以在C介面跳轉到A介面的intent裡新增此屬性,也可以直接呼叫C介面的finish()方法