2015-06-19 77 views
0

我有测试用户说,我的应用程序在他们的android设备上的电池寿命过长。我正在测试平板电脑(nexus 7),并在Settings> App info> Permissions中看到prevent tablet from sleeping科尔多瓦验证应用程序睡眠时不活跃

那么这是否意味着我的应用程序保持设备不睡觉或只是它可以?

无论我需要找出如何确保我的应用程序没有做任何后台处理。我如何测试这个?

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

回答

0

最有可能的问题是navigator.geolocation.watchPosition

您将希望利用设备事件来处理停止并在应用程序暂停和恢复时启动该事件。

这里是一个快速须藤例如:

定义一个全局为您守望var watcher;

添加pauseresume听众:

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

当您启动观察家将其分配给全球:

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

创建疏通守望者:如果您想在应用程序恢复它再次启动

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

,创建onResume并再次启动:

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

好的假设,不幸的是我做了已经。我注意到手表有时一秒钟被触发一次,所以我沿着你的答案所做的就是看了看,然后转移到手动方式,但间隔30秒,仍然停止/暂停/恢复开始。 – Jacksonkr

相关问题