[英]Different Behaviors of Activity when Opened from two Different Activities in Android
[英]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.