Диалог открытия исчезает после выключения экрана

Когда мое приложение имеет открытый диалог, например dlg.show(); и по истечении времени ожидания экран отключается, а активное и отображаемое диалоговое окно исчезают после повторного включения экрана. Я хотел бы, чтобы диалог все еще был предустановлен.

Есть ли хороший / рекомендуемый способ исправить / обойти это поведение?

Для решения я мог бы представить один из следующих подходов, но не смог найти дополнительную информацию:

  1. Отключение тайм-аута экрана для приложения.
  2. Отключение тайм-аута экрана для диалога специально.
  3. Использование другого типа диалога (modal, modeless или же interaction), который продолжает оставаться.

Может быть есть другие способы это исправить?

1 ответ

Решение

Используйте переменную, состояние которой вы храните в настройках. Возможно, это логическое значение, поэтому, когда диалоговое окно показывает, что оно истинно, и если кто-то выходит из приложения, вы сохраняете его в настройках (вы можете использовать действие формы выхода или добавить что-то в методы жизненного цикла). Когда приложение перезапустится, получите состояние из Preferences и снова отобразите диалоговое окно, если переменная равна true.

Вы можете использовать и целое число или строку, если есть несколько возможных диалогов, которые вам может понадобиться показать.

Другие вопросы по тегам