2015-06-19 57 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

相關問題