Сохранился диалог сообщений после включения устройства в Android?

У меня есть диалоговое окно сообщений, и я хотел сохранить состояние диалогового окна, а также хочу оставить диалоговое окно таким, какое оно есть.

Сценарий 1: я открыл диалоговое окно сообщений, после чего нажимаю кнопку «Выключить устройство». Когда я нажимаю кнопку включения устройства, диалоговое окно должно оставаться таким, как оно есть.

Сценарий 2. Также мне нужен диалог сообщений при повороте устройства. Я получил успех в сценарии 2, когда я поворачиваю устройство, используя onSavedInstanceState и onRestoreInstanceState.

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

поэтому, пожалуйста, дайте мне предложения по сценарию 1. Как я могу этого добиться?


person Swift    schedule 17.10.2013    source источник


Ответы (1)


Что бы ни отображалось в вашем диалоговом окне при выключении устройства, сохраните все данные в SharedPreference или в базе данных методом onDestroy и создайте BoradCastReciever, который будет запускаться при включении устройства. Снова создайте диалог и восстановите все данные, которые вы сохранили в SharedPreference или в базе данных здесь. Посмотрите здесь, как заставить BootReceiver Boot Receiver не работать

person Sunny    schedule 17.10.2013
comment
Спасибо .. Но я не хочу использовать BroadcastReceiver, так что есть ли альтернатива использованию активности LifeCycle? - person Swift; 17.10.2013
comment
Афаик, никак (: - person Sunny; 17.10.2013
comment
Тогда как я могу сохранить диалог после включения устройства? - person Swift; 17.10.2013
comment
Извините, я неправильно понял ваш вопрос. Я думал, ты полностью выключил устройство. В вашем случае, если диалог не сохраняет свое состояние, попробуйте не отменять его в методе onDestroy. Или, в качестве альтернативы, вы можете использовать активность в качестве диалога, который сохранит свое состояние. onSavInstanceState - это все, что вам нужно в этом случае. - person Sunny; 17.10.2013