Предотвратить воссоздание активности Android при выключении экрана

Как предотвратить повторное создание активности при выключении экрана?

Что я делаю

  1. Запустите Bejewels и перейдите на экран украшений.
  2. Коротко нажмите кнопку питания. Экран выключается, а устройство нет.
  3. Нажмите кнопку питания еще раз.

Что я вижу

Тот же экран, что и до выключения экрана.

В случае моего приложения (тривиальное, просто веб-приложение -с одним WebView )сценарий следующий:

Что я делаю

  1. Запускаю мое приложение. Метод действия onCreate ()загружает URL-адрес в WebView.
  2. Коротко нажмите кнопку питания. Экран выключается, а устройство нет.
  3. Нажмите кнопку питания еще раз.

Что я вижу

WebView перезагружает страницу.

Что я ожидал

Как и в случае с Bejewels, я хочу видеть тот же экран, что и для моего приложения, это страница в ее предыдущем состоянии :скрипты запущены, поля формы заполнено и т.д.

Отладка показала,что я был неправ (в предыдущем вопросе ), а onDestroy ()и onCreate ()вызываются один -на -один, когда экран только что включен. И поскольку я все еще слышу музыку, воспроизводимую скриптом, когда экран выключен, похоже, что и активность, и WebView существуют, пока я снова не нажму кнопку питания.

Что я пробовал.

  1. android :alwaysRetainTaskState="true" Такое же поведение.
  2. Читал о намерениях (безрезультатно, просто не понял, как они применимы к моей ситуации ).
  3. Использование PhoneGap. Он ведет себя по-другому :просто убивает все приложение при нажатии кнопки питания. Это лучше, но не лучше.
16
задан noober 8 May 2012 в 12:29
поделиться