我可以阻止手机在网页上休眠吗
Can I prevent phone from sleep on a webpage
在应用程序中我可以使用http://developer.android.com/reference/android/os/PowerManager.WakeLock.html但是有没有一种方法可以保持网页运行并防止入睡?如果它至少能在安卓系统上运行,那就太好了。
您可以使用:https://github.com/richtr/NoSleep.js
在任何Android或iOS网络浏览器中防止显示器休眠并启用唤醒锁定。
请注意,该库在某些平台/浏览器上存在一些可靠性/性能问题。用户已经找到了问题评论和拉取请求中列出的解决方案,但由于回购所有者当前似乎不活跃,因此尚未添加这些解决方案。
在生产中使用之前,建议您检查这些拉取请求(和/或问题)以了解潜在的改进。
您可以使用唤醒锁web API(检查支持)
https://web.dev/wakelock/
在页面上播放假循环视频或音频
你可以用这个快速的例子将带有虚假数据的循环视频添加到你的页面,并防止移动设备睡眠:
// Create the root video element
var video = document.createElement('video');
video.setAttribute('loop', '');
// Add some styles if needed
video.setAttribute('style', 'position: fixed;');
// A helper to add sources to video
function addSourceToVideo(element, type, dataURI) {
var source = document.createElement('source');
source.src = dataURI;
source.type = 'video/' + type;
element.appendChild(source);
}
// A helper to concat base64
var base64 = function(mimeType, base64) {
return 'data:' + mimeType + ';base64,' + base64;
};
// Add Fake sourced
addSourceToVideo(video,'webm', base64('video/webm', 'GkXfo0AgQoaBAUL3gQFC8oEEQvOBCEKCQAR3ZWJtQoeBAkKFgQIYU4BnQI0VSalmQCgq17FAAw9CQE2AQAZ3aGFtbXlXQUAGd2hhbW15RIlACECPQAAAAAAAFlSua0AxrkAu14EBY8WBAZyBACK1nEADdW5khkAFVl9WUDglhohAA1ZQOIOBAeBABrCBCLqBCB9DtnVAIueBAKNAHIEAAIAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AAA='));
addSourceToVideo(video, 'mp4', base64('video/mp4', 'AAAAHGZ0eXBpc29tAAACAGlzb21pc28ybXA0MQAAAAhmcmVlAAAAG21kYXQAAAGzABAHAAABthADAowdbb9/AAAC6W1vb3YAAABsbXZoZAAAAAB8JbCAfCWwgAAAA+gAAAAAAAEAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIVdHJhawAAAFx0a2hkAAAAD3wlsIB8JbCAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAIAAAACAAAAAABsW1kaWEAAAAgbWRoZAAAAAB8JbCAfCWwgAAAA+gAAAAAVcQAAAAAAC1oZGxyAAAAAAAAAAB2aWRlAAAAAAAAAAAAAAAAVmlkZW9IYW5kbGVyAAAAAVxtaW5mAAAAFHZtaGQAAAABAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEAAAEcc3RibAAAALhzdHNkAAAAAAAAAAEAAACobXA0dgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAIAAgASAAAAEgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj//wAAAFJlc2RzAAAAAANEAAEABDwgEQAAAAADDUAAAAAABS0AAAGwAQAAAbWJEwAAAQAAAAEgAMSNiB9FAEQBFGMAAAGyTGF2YzUyLjg3LjQGAQIAAAAYc3R0cwAAAAAAAAABAAAAAQAAAAAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAEAAAABAAAAFHN0c3oAAAAAAAAAEwAAAAEAAAAUc3RjbwAAAAAAAAABAAAALAAAAGB1ZHRhAAAAWG1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAAK2lsc3QAAAAjqXRvbwAAABtkYXRhAAAAAQAAAABMYXZmNTIuNzguMw=='));
// Append the video to where ever you need
document.body.appendChild(video);
// Start playing video after any user interaction.
// NOTE: Running video.play() handler without a user action may be blocked by browser.
var playFn = function() {
video.play();
document.body.removeEventListener('touchend', playFn);
};
document.body.addEventListener('touchend', playFn);
在应用程序中,有几种方法可以做到这一点,但我想你的意思是只在移动网页中,通过Android在任何浏览器中查看。使用普通的HTML/Javascript/等。,我真的,真的很怀疑。
实际上,至少在特定情况下,使用Flash(在启用了插件的启用了Flash的手机上)可能会。我这么说是因为,在没有WAKE_LOCK权限的测试应用程序中,将此swf文件加载到WebView会在某些设备上导致以下异常:
java.lang.SecurityException:两者都没有用户#####当前进程都没有android.permission.WAKE_LOCK
然而,即使这真的奏效了,它也会有崩溃没有WAKE_LOCK权限的应用程序或浏览器的风险。这可能是由于Adobe Flash Player插件中的错误代码,而不是任何有意的功能。
如果您在Android上构建WebViewGold/WebView应用程序(而实际的网页/web应用程序位于这样的包装器中),这里提到的所有方法都将不起作用。但是你也可以设置
PREVENT_SLEEP = TRUE;
在Config.java中,它应该可以做到这一点。
在iOS设备上,每隔几秒钟用Javascript刷新一次页面就会让屏幕保持清醒。这似乎是正确的策略,希望安卓在未来的版本中会采用这一策略。
- 如何防止网页加载后自动启动功能
- 如何使用Node.js最有效地解析网页
- 刷新后保留对网页的更改
- AJAX不会在文件上传后重定向到网页-POST方法
- 使用谷歌网站翻译器自动翻译网页
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 仅重新加载网页的一部分
- 每次提交表单时都会重新加载网页
- 打开网页后立即获取网页的活动javascript函数
- 链接两个网页或网络应用程序的最佳方式
- Android键盘不适用于包含Javascript的网页
- 网页上失败的javascript会导致所有其他脚本失败
- 在网页上显示当前股票报价
- HTML 5 和 3.js 代码不会在网页上显示任何内容
- 使用javascript替换网页上的文本
- 如何建立一个网页,检查我的路由器网络接口是否可以访问
- 我的点击登录在网页上不起作用
- 为什么这个jQuery可以作为一个小提琴工作,但在我的网页上没有
- 如何在我的html网页中使用jquery自动完成
- 我可以阻止手机在网页上休眠吗