因此,在我的应用程序中有一个用于创建新用户的表单,其中包含有关用户的相关详细信息和信息。那里没有问题,这只是当用户离开活动而不按确认按钮时发生的情况。
这是我想要做的:
- 如果用户按下后退按钮,尝试将所有数据保存到数据库并通知用户。
- 如果活动被中断(即通过电话),将所有数据保存到一个临时位置,这样当活动再次位于堆栈顶部时,似乎没有任何变化(但数据仍未保存到数据库)。
- 如果活动在后台被杀死以获取更多资源,请执行上述第 2 点相同的操作(即,当活动再次启动时,似乎没有任何变化)。
- 如果整个应用程序再次启动(通过再次单击图标)并且从上面的第 2 点或第 3 点存储了临时数据,则导航到“创建用户”活动并显示数据,就好像没有任何变化一样。
这是我目前正在尝试的方式:
- 使用
onDestroy()
和isFinishing()
函数来查找活动何时被终止,以覆盖上面的第 1 点(然后尝试保存所有数据)。 - 将所有数据保存
onSaveInstanceState
到一个包中(涵盖上面的第 2 点) - 创建的包是否在
onSaveInstanceState
被杀死以获得更多资源的活动中幸存下来,所以当它重新创建时可以检索到以前的状态(如上面的第 3 点)? - 不知道如何实施第 4 点。
任何帮助将不胜感激。
干杯!