Zapobiegaj odtwarzaniu aktywności Androida podczas wyłączania ekranu

Jak zapobiec odtworzeniu działania podczas wyłączania ekranu?

Co robię

Uruchom Bejewels i przejdź do ekranu z biżuterią.Naciśnij krótko przycisk zasilania. Ekran jest wyłączony, ale urządzenie nie jest.Naciśnij ponownie przycisk zasilania.

Co widzę

Ten sam ekran, co przed wyłączeniem ekranu.

W przypadku mojej aplikacji (trywialna, tylko aplikacja internetowa z pojedynczym WebView) scenariusz jest następujący:

Co robię

Uruchom moją aplikację. Metoda activity onCreate () ładuje adres URL do WebView.Naciśnij krótko przycisk zasilania. Ekran jest wyłączony, ale urządzenie nie jest.Naciśnij ponownie przycisk zasilania.

Co widzę

WebView przeładowuje stronę.

Czego się spodziewałem

Tak jak w przypadku Bejewels, chcę zobaczyć ten sam ekran, że dla mojej aplikacji jest strona w poprzednim stanie: skrypty są uruchomione, wypełnione są pola formularza itd.

Debugowanie pokazało, że się myliłem (w poprzednim pytaniu), a onDestroy () i onCreate () są wywoływane jeden po drugim, gdy ekran jest włączony. A ponieważ wciąż słyszę muzykę odtwarzaną przez skrypt, gdy ekran jest wyłączony, wygląda na to, że zarówno aktywność, jak i WebView istnieją, dopóki nie wcisnęłem ponownie przycisku zasilania.

Co próbowałem.

android: alwaysRetainTaskState = "true" To samo zachowanie.Czytając o intencjach (bezskutecznie, po prostu nie rozumiałem, jak są one stosowane w mojej sytuacji).Korzystanie z PhoneGap. Zachowuje się inaczej: po naciśnięciu przycisku zasilania zabija całą aplikację. To jest lepsze, ale nie najlepsze.

questionAnswers(3)

yourAnswerToTheQuestion