我需要在网站上做一些禁用闲置/睡眠电话的功能。有没有人尝试在Android手机上做这个?它有可能吗?
答案 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建议的视频播放技巧。