I need to do on the website some feature to disabled idle/sleep phone. Does anyone try make this on phone with android ? is it in any way possible?
JavaScript in Chrome on Android (7.0) indeed shuts down after 5 min in sleep mode. Aaargh!
To prevent that, we need e.g. an audio object:
<audio id="dummyAudio">
<source src="silent.ogg" type="audio/ogg">
<source src="silent.mp3" type="audio/mpeg">
</audio>
and play it at regular intervals:
function playDummyAudio() { dummyAudio.play(); }
$(function() {
var dummyAudio = document.querySelector('#dummyAudio');
window.setInterval(playDummyAudio, 60 * 1000);
}
Note that the Audio object has to be "unlocked" in a user gesture callback. This can be accomplished e.g. by having a grey CSS overlay with a big fat dummy "Start" button, whose onClick() callback only hides the overlay and calls dummyAudio.load().
We strongly don't encourage developers to do this at all. However it is possible. You can simply have a video playing on the page and the device won't go to sleep. This means you could have single frame video set to auto-loop and play (requires a user interaction)
Richard Tibbett has created NoSleep.js to simplify the process for developers.
There is an experimental implementation of Wake Lock API (http://www.w3.org/TR/wake-lock/) in Chromium starting I believe from version 48.0.2551.0. Though this only works when the experimental features are enabled in the browser e.g. via --enable-experimental-web-platform-features command line switch, so this is not yet useful for the general audience. In the meantime I think it is possible to use the video playback trick as suggested by Kinlan.