我想知道什麼是最有效的電池效率方式發送準確位置更新到服務器/ firebase每隔5秒,即使應用程序已關閉或手機重新啓動。我嘗試使用AlarmManager.setRepeating隨着android.intent.action.BOOT_COMPLETED接收機 -每5秒向Firebase發送位置更新?
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime(),
5*1000, // 60000 = 1 minute,
pendingIntent);
但這並不在Android 5.1+由於工作 -
頻繁報警壞電池壽命。從API 22開始,AlarmManager將覆蓋近期和高頻警報 請求,將警報延遲至未來至少5秒,並確保重複間隔至少60秒。
使用張貼延遲的消息或可以運行到Handler不是一個可靠的解決方案,因爲只要應用程序被刷掉,位置更新就會停止。
是否有任何可靠的方法每5秒向服務器發送準確的位置更新?