2011-05-24 3 views
9

W aplikacji mogę używać http://developer.android.com/reference/android/os/PowerManager.WakeLock.html , ale czy istnieje sposób na utrzymanie strony internetowej i zapobieganie zasypianiu? Byłoby miło, gdyby działało przynajmniej na Androidzie.Czy mogę zapobiec zawieszeniu się telefonu na stronie internetowej?

+4

Mam nadzieję, że nie ... po prostu pomyśl o nadużyciach ... – tjameson

+0

To może być poproszony, podobnie jak wiele innych funkcji getUserMedia() i takie ... Istnieje wiele zastosowań, w których nie chcesz iść telefon do snu w aplikacji internetowej. Na przykład, jeśli potrzebujesz danych czujnika i chcesz aktualizować dźwięk co kilka sekund. Kiedy śpisz, nie możesz tego zrobić. – JustGoscha

Odpowiedz

4

W aplikacji można to zrobić na kilka sposobów, ale myślę, że masz na myśli tylko na mobilnej stronie internetowej, wyświetlanej w dowolnej przeglądarce przez Androida. Z normalnym HTML/Javascript/itd. Naprawdę, naprawdę w to wątpię.

Faktycznie może być możliwe za pomocą Flasha (w telefonach z włączoną wtyczką z włączonymi wtyczkami), przynajmniej w określonych okolicznościach. Mówię to dlatego, że w aplikacji testowej bez zgody WAKE_LOCK, załadunek this swf file w WebView spowodował następujący wyjątek na niektórych urządzeniach:

java.lang.SecurityException: ani użytkownika ##### ani obecnego procesu ma android.permission.WAKE_LOCK

Nawet jeśli to nie działa, jednak, to ryzykujemy awarii aplikacji lub przeglądarek, które nie mają pozwolenia WAKE_LOCK. Może to być możliwe z powodu złego kodu w wtyczce Adobe Flash Player, a nie jakiejkolwiek celowej funkcjonalności.

+1

Użytkownik mojej aplikacji wykonuje ten wyjątek, więc może ona była uruchomiona z lampą błyskową? Dziękuję również za histeryczny plik SWF. – Lucy

0

Na urządzeniach z systemem iOS odświeżanie strony w Javascript co kilka sekund spowoduje, że ekran się obudzi. Wydaje się, że jest to właściwa strategia, mam nadzieję, że Android zastosuje to w przyszłej wersji.