如何在后退按钮上按下应用程序

如何在按下后退按钮时存储我的应用程序的状态。

当按下后退按钮时,只调用onPause() ,而不是onSaveInstanceState ,我们可以将数据存储在outState bundle中。

一个答案可能是sharedPreference但我的问题是它将只存储int而不是捆绑intArray

有什么方法可以显式调用onSaveInstanceState


user 600027 ...即使您能够调用onSaveInstanceState,该捆绑包也不会被保留,并且我不相信这会在硬性杀死后可用。 您可以编写一个方法将int数组转换为字符串集,然后通过调用putStringSet()来持久保存数据,然后编写一个方法将一组字符串转换为int数组。

JAL


您可以在Activity#onDestroy()正常保存。

我认为onCreate(Bundle)onSaveInstanceState(Bundle)onRestoreInstanceState(Bundle)背后的意图是为您提供一个机会,让您在后台死亡之前保存状态。 然后,应用程序应该恢复,并显示给用户,就好像什么都没有发生。

在后退按钮上,用户在某种意义上被“完成”了活动。 应该保存的数据量是不同的。 是的,在这种情况下,将SharedPreferences保存为状态会是一个好主意。

链接地址: http://www.djcxy.com/p/5475.html

上一篇: How to save app on back button press

下一篇: Accessing properties of javascript objects using type dynamic in C# 4