Могу ли я запретить телефону спать на веб-странице?

В приложении я могу использовать http://developer.android.com/reference/android/os/PowerManager.WakeLock.html но есть ли способ сохранить работу веб-страницы и предотвратить переспать? Было бы неплохо, если бы он работал хотя бы на android.

Ответ 1

В приложении есть несколько способов сделать это, но я предполагаю, что вы имеете в виду только мобильную веб-страницу, которую можно просматривать в любом браузере через Android. С нормальным HTML/Javascript/и т.д. Я действительно очень сомневаюсь в этом.

На самом деле это может быть возможно с использованием Flash (на телефонах с поддержкой flash и включенными плагинами), хотя бы, по крайней мере, при определенных обстоятельствах. Я говорю это потому, что в тестовом приложении без разрешения WAKE_LOCK загрузка этого файла swf в WebView вызвала следующее исключение на некоторых устройствах:

java.lang.SecurityException: ни то, ни другое пользователь ##### ни текущий процесс не имеет android.permission.WAKE_LOCK

Однако, даже если это сработало, это может привести к сбою приложений или браузеров, у которых нет разрешения WAKE_LOCK. Это может быть возможно из-за плохого кода в плагине Adobe Flash Player, а не из-за преднамеренной функциональности.

Ответ 2

На устройствах iOS, просто обновляя страницу в Javascript каждые несколько секунд, вы будете бодрствовать. Это, кажется, правильная стратегия, надеюсь, Android примет это в будущей версии.

Ответ 3

Вы можете использовать: https://github.com/richtr/NoSleep.js

Запретите отображение спящего режима и включите блокировку пробуждения в любом веб-браузере Android или iOS.

Обратите внимание, что библиотека имеет некоторые проблемы надежности/производительности на некоторых платформах/браузерах. Пользователи нашли решения, которые перечислены в комментариях к проблеме и запросах на получение, но они не были добавлены, поскольку владелец репо в настоящее время неактивен.

Рекомендуется проверить эти запросы (и/или проблемы) на наличие потенциальных улучшений перед их использованием в производстве.