屏幕关闭后打开的对话框消失

Open dialog disappears after screen turns off

当我的应用有一个打开的对话框时,例如dlg.show(); 并且屏幕因超时而关闭再次打开屏幕后,活动和显示的对话框消失。我想让对话框仍然预设。

是否有 good/recommended 方法来 fix/workaround 这种行为?

对于解决方案,我可以想象以下方法之一,但找不到更多信息:

  1. 全局禁用应用程序的屏幕超时。
  2. 专门为对话框禁用屏幕超时。
  3. 使用另一种持续存在的对话类型(modalmodelessinteraction)。

也许还有其他方法可以解决这个问题?

使用您在首选项中存储状态的变量。也许是一个布尔值,所以当对话框显示它为真时,如果有人退出应用程序,您将其保存在首选项中(您可以使用退出表单操作或向生命周期方法添加一些内容)。当应用程序重新启动时,从首选项获取状态并在变量为真时再次显示对话框。

如果您可能需要显示多个可能的对话框,则可以使用整数或字符串。