Как предотвратить воссоздание активности на выключенном экране?Предотвращение воссоздания активности Android на выключенном экране
Что я
- Начало Bejewels и перейти к экрану ювелирных изделий.
- Нажмите кнопку питания в ближайшее время. Экран выключен, но устройства нет.
- Еще раз нажмите кнопку питания.
Что я вижу
Тот же экран, как перед поворотом экрана выключен.
В случае моего приложения (тривиальное, только веб-приложения с помощью одного WebView) сценарий заключается в следующем:
Что я
- Начало мой приложение. Функция onCreate() загружает URL-адрес в WebView.
- Нажмите кнопку питания в ближайшее время. Экран выключен, но устройства нет.
- Еще раз нажмите кнопку питания.
Что я вижу
WebView является перезагрузка страницы.
Что я ожидал
Как и в случае Bejewels я хочу увидеть тот же экран, что для моего приложения является страницей в прежнем состоянии: сценарии работают, а поля формы являются заполнены и т.д.
Debugging показал, что я был неправ (в предыдущем вопросе) и OnDestroy() и OnCreate() в настоящее время называется один за другим, когда экран просто включен. И поскольку я все еще слышу музыку, которую играет сценарий, когда экран выключен, похоже, что активность и WebView существуют до тех пор, пока я снова не нажму кнопку питания.
Что я пытался.
- android: alwaysRetainTaskState = "true" То же поведение.
- Чтение о намерениях (безрезультатно, я просто не понимал, как они применяются к моей ситуации).
- Использование PhoneGap. Он ведет себя по-другому: просто убивает все приложение нажатием кнопки питания.Это лучше, но не лучше.
Ничего не изменилось. (Я не удалял андроид: alwaysRetainTaskState = "true"). – noober
после нажатия кнопки питания, чтобы выключить экран, а затем снова на экране onResume(), что вы делаете в onResume()? – Bush
1. Да, onResume() вызывается. Я проверил его (переопределенный и названный Toast). 2. Извините за тупость, я просто не предполагал, что мне нужно было что-то сделать в onResume(). Таким образом, он не был отменен, и теперь он содержит только тост-вызов. 3. Поведение теперь следующее: после первого нажатия кнопки, когда экран выключен, страница перезагружается в фоновом режиме (музыка перестает воспроизводиться, а затем воспроизводится с начала, в разделе onload на веб-странице, где начинается музыка, есть javascript играть). – noober