2015-02-23 18 views
1

我的Android應用使用SyncAdapter與我的API服務同步。我使用delayUntil來告訴它每半小時同步一次。但是,有些用戶報告的事件一旦完成,手機電池耗盡(例如,應用程序顯示在設備的電池頁面顯示「保持清醒」13小時+),它再也不會再次進入睡眠狀態。SyncAdapter保持清醒幾小時

我也確定在onPerformSync方法中沒有無限循環 - 它會進行一些HTTP調用並更新數據庫,這就是它。

有沒有人經歷過這樣的事情,如果是這樣,背後是什麼?

+0

還要注意這個使用'delayUntil'選項的文檔:http://www.geero.net/2014/03/adding-cloud-functionality-to-an-android-app/ – andygeers 2015-03-13 13:04:20

回答

0

查看您的應用程序onCreate方法。我犯的錯誤是假設應用程序只在用戶與您的應用程序交互時才啓動,但事實上,每次SyncAdapter執行其應用程序時,應用程序都會啓動。在我的案例中,應用程序的onCreate方法告訴Dropbox開始同步,並且設計用於使Dropbox停止同步的代碼從未被踢入(它發生在最後一次活動被關閉時 - 當然從未發生,因爲否活動時只是SyncAdapter正在運行),所以它再也沒有進入睡眠狀態。

相關問題