我需要重新启动我的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