我有一个从node.js webpack项目创建的Android应用程序。
当我在手机上安装我的应用程序时,我注意到它在手机进入休眠状态时也进入休眠状态。因此,例如,我有一个javascript计时器,该计时器停止调用:
pingTimer=setInterval(ping,pingInterval);
用于pingInterval。如何停止我的应用程序进入休眠状态?最终,我希望我的应用进入休眠状态,但目前最好的方法是让手机进入休眠状态。
更新
我按照此处描述的说明进行操作:
http://www.greenbot.com/article/2993199/android/how-to-turn-off-doze-mode-for-specific-apps-in-android-marshmallow.html
但没有运气。
最佳答案
最好的选择是WakeLock API
在manifest file
中为wakeLock
添加权限
<uses-permission android:name="android.permission.WAKE_LOCK" />
那么您可以根据自己的修改添加以下内容,如MDN行为中所建议的那样
function forPingTimer(){
var lock = window.navigator.requestWakeLock('screen');
//set timeout or until the timer expires
}
然后使用
lock.unlock();
函数释放该锁。或
对于cordova应用程序,您还可以使用插件insomnia。在
config
文件中进行的更改如文档中所述,可以通过以下方式简单使用:function forPingTimer(){
//as long as the app runs or set the timeout here or wrap it in a promise
//Simply calling window.plugins.insomnia.keepAwake() to keep awake
}
//window.plugins.insomnia.allowSleepAgain() to sleep again until the timer after the timer is fulfilled
关于javascript - 阻止我的应用进入休眠状态(Cordova/Android),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41107778/