簡體   English   中英

如何重新啟動活動並在Android SDK <11中保存所有先前打開的活動

[英]How to restart Activity and save all previously opened activities in Android SDK < 11

我需要重新啟動PreferenceActivity並保存所有以前打開的活動。 我可以僅使用一行代碼super.recreate();在Android SDK> 11中輕松完成此操作 在這種情況下,我的活動將重新啟動,並且所有先前的活動也都將放在堆棧中,當我按“后退”按鈕時,將獲得先前的活動。 但是,這種出色的方法僅適用於裝有Android ver 11及更高版本的設備。 但是低於11的Android版本呢? 在這種情況下,我正在這樣做: finish(); startActivity(getIntent());

一切正常,但是當我按下“后退”按鈕時,當前的“活動”完成其工作並關閉,僅此而已,我沒有得到以前打開的“活動”。 有誰知道如何解決這個問題?

這是我的代碼

 if (android.os.Build.VERSION.SDK_INT >= 11) {
            super.recreate();
        } 
 else {
      finish();
      startActivity(getIntent());
  }

您可以做的是使用Activity.startActivityForResult()啟動PreferenceActivity,然后在需要重新創建活動時,只需使用Activity.RESULT_FAILED常量結束即可,以表明希望重新創建活動。 這樣,您將保持狀態,如果需要將數據傳回,只需設置結果意圖即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM