Cordova验证应用程序在未激活时处于睡眠状态

时间:2015-06-19 17:20:17

标签: cordova ionic-framework

我有测试用户说我的应用程序在他们的Android设备上占用了太多的电池寿命。我正在测试平板电脑(nexus 7)和设置>应用信息>权限我看到prevent tablet from sleeping

这是否意味着我的应用 让设备无法入睡或只是它可以?

无论如何我需要了解如何确保我的应用不进行任何后台处理。我该怎么测试呢?

注意: 我正在使用navigator.geolocation.watchPosition而我担心它仍然在后台运行,占用的资源超过了所需资源。

1 个答案:

答案 0 :(得分:0)

问题很可能是navigator.geolocation.watchPosition

当应用暂停并恢复时,您需要使用设备事件来处理停止和启动此事件。

这是一个快速的sudo示例:

为观察者var watcher;

定义全局

pauseresume添加听众:

document.addEventListener("pause", onPause, false);
document.addEventListener("resume", onResume, false);

启动观察者时,将其分配给全局:

watcher = navigator.geolocation.watchPosition(onSuccess, onError, options);

创建onPause并清除观察者:

function onPause() {
    navigator.geolocation.clearWatch(watcher);
}

如果您希望在恢复应用时再次启动,请创建onResume并重新启动它:

function onResume() {
    watcher = navigator.geolocation.watchPosition(onSuccess, onError, options);
}