如何在后退按钮上按下应用程序
如何在按下后退按钮时存储我的应用程序的状态。
当按下后退按钮时,只调用onPause()
,而不是onSaveInstanceState
,我们可以将数据存储在outState bundle中。
一个答案可能是sharedPreference
但我的问题是它将只存储int而不是捆绑intArray
。
有什么方法可以显式调用onSaveInstanceState
?
user 600027 ...即使您能够调用onSaveInstanceState,该捆绑包也不会被保留,并且我不相信这会在硬性杀死后可用。 您可以编写一个方法将int数组转换为字符串集,然后通过调用putStringSet()来持久保存数据,然后编写一个方法将一组字符串转换为int数组。
JAL
您可以在Activity#onDestroy()
正常保存。
我认为onCreate(Bundle)
, onSaveInstanceState(Bundle)
和onRestoreInstanceState(Bundle)
背后的意图是为您提供一个机会,让您在后台死亡之前保存状态。 然后,应用程序应该恢复,并显示给用户,就好像什么都没有发生。
在后退按钮上,用户在某种意义上被“完成”了活动。 应该保存的数据量是不同的。 是的,在这种情况下,将SharedPreferences
保存为状态会是一个好主意。
上一篇: How to save app on back button press
下一篇: Accessing properties of javascript objects using type dynamic in C# 4