按home鍵 再次進入應用無法回到退出是的介面
一:
設定 android:noHistory=true後,該Activity在statck中不留歷史痕跡。預設的值是false。
舉例說明,假設有三個Activity分別是:A,B,C。這三個Activity可以依次順序啟動下一個Activity,比如,在A中做一個Button,使用者點選後跳轉到B ; 同樣,在B中也做一個Button,點選跳轉到C。C不再做Button,只是一個用以演示的空殼Activity。
在AndroidManifest.xml中配置B的屬性為:android:noHistory=true
其他兩個不做特別設定,僅僅作為一般的Activity處理。
可以觀察到,A啟動後,從A跳轉到B,再從B跳轉到C,進入C後,此時如果按返回鍵,將直接進入A,而不是B。簡單的跳轉邏輯路線:
A –> B –> C –> 按返回鍵 –> A
綜上,可以這麼理解android:noHistory=true對Activity行為的影響:當該Activity螢幕不可見時,相當於Android系統呼叫Activity的finish()方法結束了該Activity。
二:
正在執行的android程式,按home鍵之後退回到桌面,在次點選程式圖示避免再次重新啟動程式解決辦法
例如:一個android程式包含兩個Activity,分別為MainActivity和OtherActivity,MainActivity為程式啟動的Activity。如果程式正位於OtherActivity,點選home鍵,程式退回到桌面,
在次點選程式圖示,程式預設會自動重啟,即重新進入MainActivity,而不是進入點選home鍵的時刻程式所位於的OtherActivity。
解決方法:
在AndroidManifest.xml中修改,MainActivity的launchMode,去掉android:launchMode="singleTask"啟動模式即可。
AndroidManifest.xml的配置程式碼
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN" />
<categoryandroid:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".OtherActivity"
android:label="@string/title_activity_other"android:launchMode="singleTask">
</activity>
</application>
三: android:alwaysRetainTaskState="true"設定為true