基本上我的應用程序有2個活動。「A」和「B」 。 A推出B.處理SavedInstances和恢復活動
活動B播放音樂,也有通知。案例1:當視圖仍然處於活動B'時,我按下主頁按鈕,然後點擊通知,活動B打開,其視圖完好無損,音樂播放(因爲在清單中,我正在使用android:launchMode =「singleTop」,因此不會創建活動的另一個實例)這部分是根據需要的...... 但是
情況2:當視圖在活動B上,然後按下後退按鈕,活動A出現,然後我點擊通知,活動B打開與視圖丟失,音樂也停止(不需要)......我猜測,這是因爲當我按下後退按鈕該活動被破壞,所以我必須恢復它的視圖,以恢復其視圖我overrid Ë兩種方法.....
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
// Save UI state changes to the savedInstanceState.
// This bundle will be passed to onCreate if the process is
// killed and restarted.
savedInstanceState.putBoolean("boolMusicPlaying", boolMusicPlaying);
savedInstanceState.putInt("swapnumber", swapnumber);
savedInstanceState.putString("seekbarprogress", progress2);
savedInstanceState.putInt("position.seekbar",seekbar.getProgress());
savedInstanceState.putString("seekmaxString", max2);
savedInstanceState.putInt("seekmaxInt",seekMax);
savedInstanceState.putParcelableArrayList("songfetails",songdetails);
super.onSaveInstanceState(savedInstanceState);
}
//make a note ....even if i don't override onDestroy() and don't call on SaveInstanceState explicitly, then too i am not getting any desired effect.......
@Override
public void onDestroy()
{ Bundle savedState = new Bundle();
onSaveInstanceState(savedState);//because of this line....the app is crashing......
super.onDestroy();
}
,但它並沒有幫助..... 並在創造我把一張支票,如果保存的情況下爲空或不是....創建相應的視圖...(即從保存的實例或從新鮮),但它並沒有幫助... 此行也是崩潰... onSaveInstanceState(savedState);即使我不覆蓋ondestroy()並從任務殺手手動殺死應用程序,然後嘗試打開活動B,然後也保存的實例的東西應該正常工作,因爲方法OnSaveInstanceState將被自動調用然後,右???請幫助
的onSaveInstanceState'(savedState)'就是爲什麼你打它明確 – Raghunandan
閱讀完整的東西請....即使活動類的覆蓋方法我不要調用它......它會在任務殺手殺死應用程序時自動調用?所以在這種情況下,爲什麼不顯示(恢復)視圖? –
@Raghunandan在這eg..in檢查答案..這傢伙明確調用它http://stackoverflow.com/questions/10492637/android-saveinstancestate-understanding –