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

Имам диалоговия прозорец за съобщения и исках да запазя състоянието на диалоговия прозорец също иска да остане диалоговият прозорец такъв, какъвто е.

Сценарий 1: Отворих диалоговия прозорец за съобщения, след което натиснах бутона за изключване на устройството. Когато натисна бутона за включване на устройството, диалоговият прозорец трябва да остане такъв, какъвто е.

Сценарий 2: Също така исках диалоговия прозорец за съобщения, когато завъртя устройството. Постигнах успех в сценарий 2, когато завъртя устройството с помощта на onSavedInstanceState и onRestoreInstanceState.

В момента отхвърлям диалоговия прозорец в OnDestroy, за да отварям диалоговия прозорец, когато натисна бутона за включване на устройството, преди това отхвърлям диалоговия прозорец onSavedInstancestate и пресъздавам диалоговия прозорец отново.

така че, моля, получете ми предложения срещу Сценарий 1. Как мога да постигна това?


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


Отговори (1)


Каквото и да показва диалоговият ви прозорец, когато изключите устройството, запазете всички данни в SharedPreference или в базата данни в onDestroy метод и създайте BoradCastReciever, който ще се задейства, когато ВКЛЮЧИТЕ устройството. Създайте отново dailog и възстановете всички данни, които сте записали в SharedPreference или в база данни тук. Вижте тук как да накарате BootReceiver Boot Receiver да не работи

person Sunny    schedule 17.10.2013
comment
Благодаря.. Но не искам да използвам BroadcastReceiver, така че има ли някаква алтернатива с помощта на активността LifeCycle? - person Swift; 17.10.2013
comment
AFAIK няма начин (: - person Sunny; 17.10.2013
comment
Тогава как мога да запазя диалоговия прозорец след включване на устройството? - person Swift; 17.10.2013
comment
Съжалявам, че не съм разбрал въпроса ви. Мислех, че изключваш напълно устройството. Във вашия случай, ако диалоговият прозорец не запази състоянието си, опитайте да не го отмените в метода onDestroy. Или алтернативно можете да използвате дейност като диалогов прозорец, който ще запази нейното състояние. onSavInstanceState е всичко, от което се нуждаете в този случай. - person Sunny; 17.10.2013