我需要重新啓動我的PreferenceActivity並保存以前打開的所有活動。我可以輕鬆地在Android SDK> 11中執行此操作,僅使用一行代碼super.recreate();在這種情況下,我的活動重新啓動,並且所有以前的活動也在後退堆棧中,當我按下「後退」按鈕時,我得到前一個活動。但是這個美妙的方法僅適用於Android版本爲11或更高版本的設備。但是Android版本低於11呢?在這種情況下,我正在這樣做:finish(); startActivity(getIntent());如何重新啓動活動並保存Android SDK中所有以前打開的活動<11
一切正常,但是當我按下後退按鈕時,當前的活動完成其工作並關閉,這就是所有,我沒有得到以前打開活動。有沒有人有想法如何解決這個問題?
這是我的代碼
if (android.os.Build.VERSION.SDK_INT >= 11) {
super.recreate();
}
else {
finish();
startActivity(getIntent());
}
所以,sceme是下一個:1.在我的活動「A」我調用startActivityForResult(PreferenceActivity)。 2.然後在PreferenceActivity中,我使用結果代碼Activity.RESULT_FAILED完成它。 3. onActivityResult方法中的活動「A」我再次獲取Activity.RESULT_FAILED代碼和startinf PreferenceActivity? – 2014-10-20 14:54:25
絕對:)我就是這麼做的。 – AedonEtLIRA 2014-10-20 14:58:12
這是很棒的解決方案!非常感謝你!我也想問一下,如果我可以從其他許多活動中啓動PreferenceActivity,那麼如何做到這一點很簡單,或者我需要在可以啓動PreferenceActivity的每個活動中實現此算法? – 2014-10-20 15:09:02