В приложении я могу использовать 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.
Обратите внимание, что библиотека имеет некоторые проблемы надежности/производительности на некоторых платформах/браузерах. Пользователи нашли решения, которые перечислены в комментариях к проблеме и запросах на получение, но они не были добавлены, поскольку владелец репо в настоящее время неактивен.
Рекомендуется проверить эти запросы (и/или проблемы) на наличие потенциальных улучшений перед их использованием в производстве.