如果我的手机 hibernate 或我离开应用程序发送短信/接听电话,我的应用程序将重新启动。 我该如何防止这种情况?
我希望保存对象而不是基本数据类型。如果应用程序关闭或手机关闭,我不需要保存应用程序的当前状态/数据,尽管我准备在必要时这样做。
最佳答案
当调用 onSaveInstanceState(Bundle outState)
时,您需要在主 Activity 中保存所有临时状态变量。每当您的应用程序有可能被操作系统破坏时就会调用此函数。在您的 onCreate(Bundle savingInstanceState)
中,如果 savedInstanceState
不为 null,则意味着您的 Activity 之前已终止,您需要从该包中重新填充临时状态变量。
这就是为什么你的主 Activity 正在“重新启动”,因为当你的主 Activity 在被终止后恢复时,onCreate 会再次被调用,但它不会从包中加载数据来重新创建应用程序暂停时的状态。
这里有更详细的描述:http://developer.android.com/reference/android/app/Activity.html
关于java - 如何防止 Android 应用程序在每次手机 hibernate 时重置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9423640/