我对Android开发还比较新,需要一些帮助来保存活动的状态。从onPause保存实例并从onRestore恢复实例的正确方法是什么?显然,Android不会像在onCreate或onSaveInstanceState中那样发送savedInstanceState Bundle。或者除了使用savedInstanceState bundle之外,是否有更好的保存方式?
这讲得通吗?
[编辑] 好的,我想我知道我的真正问题是什么了...但首先,我认为我要使用SharedPreferences而不是savedInstanceState。
所以,我正在进行更多的调试日志观察,我注意到它没有将Activity带到堆栈的顶部,而是创建了一个新的Activity。是的,我意识到我正在创建一个新的Activity...
这讲得通吗?
[编辑] 好的,我想我知道我的真正问题是什么了...但首先,我认为我要使用SharedPreferences而不是savedInstanceState。
所以,我正在进行更多的调试日志观察,我注意到它没有将Activity带到堆栈的顶部,而是创建了一个新的Activity。是的,我意识到我正在创建一个新的Activity...
Intent itemintent = new Intent(MediaList.this, AudioPlayer.class);
Bundle b = new Bundle();
//...putString some strings to send
itemintent.putExtra("android.intent.extra.INTENT", b);
itemintent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivityForResult(itemintent,0);
但是FLAG_ACTIVITY_REORDER_TO_FRONT不应该阻止它创建新的活动吗?我猜测它认为必须创建一个新的活动,因为我发送了一些字符串?
更好的方法是,如果活动已经在堆栈中,我如何检查并在字符串相同的情况下切换到它? -- 当用户从列表视图中点击媒体项时,我正在启动此活动。 [/编辑]