如何在后退按钮上按下应用程序
如何在按下后退按钮时存储我的应用程序的状态。
当按下后退按钮时,只调用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
