防止Android Chrome进入闲置/自动锁定/睡眠电话?

时间:2015-11-26 08:17:37

标签: android google-chrome mobile-browser

我需要在网站上做一些禁用闲置/睡眠电话的功能。有没有人尝试在Android手机上做这个?它有可能吗?

3 个答案:

答案 0 :(得分:7)

我们强烈建议开发人员不要这样做。但是有可能。您只需在页面上播放视频,设备就不会进入睡眠状态。这意味着您可以将单帧视频设置为自动循环和播放(需要用户交互)

Richard Tibbett创建了NoSleep.js来简化开发人员的流程。

答案 1 :(得分:2)

Android(7.0)Chrome中的JavaScript确实会在睡眠模式下关闭5分钟后关闭。 Aaargh!

为了防止这种情况,我们需要例如音频对象:

<audio id="dummyAudio">
   <source src="silent.ogg" type="audio/ogg">
   <source src="silent.mp3" type="audio/mpeg">
</audio>

并定期播放:

function playDummyAudio() { dummyAudio.play(); }    
$(function() {
   var dummyAudio = document.querySelector('#dummyAudio');
   window.addEventListener(playDummyAudio, 60 * 1000);
}

请注意,音频对象必须是&#34;解锁&#34;在用户手势回调中。这可以通过例如完成。通过一个带有大胖子的灰色CSS覆盖&#34;开始&#34;按钮,其onClick()回调仅隐藏覆盖并调用dummyAudio.load()

答案 2 :(得分:1)

在Chromium中有一个Wake Lock API(http://www.w3.org/TR/wake-lock/)的实验性实现,我相信版本48.0.2551.0。虽然这仅在浏览器中启用实验性功能时才有效,例如通过--enable-experimental-web-platform-features命令行开关,这对普通观众来说还没有用。与此同时,我认为可以使用Kinlan建议的视频播放技巧。