每隔5秒向firebase发送位置更新?

时间:2017-02-27 13:36:52

标签: android google-maps location

我想知道什么是电池效率方式每5秒向服务器/ firebase发送准确位置更新,即使应用已关闭或手机重新启动。我尝试使用AlarmManager.setRepeating以及android.intent.action.BOOT_COMPLETED接收器 -

alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                      SystemClock.elapsedRealtime(),
                      5*1000, // 60000 = 1 minute,
                      pendingIntent);

但由于 -

,这在Android 5.1+上不起作用
  

频繁的警报对电池寿命有害。截至API 22,   AlarmManager将覆盖近期和高频警报   要求,将警报延迟至少5秒钟,以及   确保重复间隔至少为60秒。

使用发布延迟消息或运行到处理程序不是一个可靠的解决方案,因为只要应用程序被刷掉,位置更新就会停止。

有没有可靠的方法每隔5秒向服务器发送准确的位置更新?

1 个答案:

答案 0 :(得分:0)

首先(如果您还没有) - 请查看Google的FusedLocationProviderApi,这些内容旨在提升网络/电池效率。

另外,你有没有找到GCM Network manager?这旨在实现电池效率高的任务(一次性或重复性)。它尝试将这些任务与其他网络请求一起批处理,以保存设备无线电的多次激活。 (Here's a short explanation