【问题标题】:Send location updates to firebase every 5 seconds?每 5 秒向 Firebase 发送位置更新?
【发布时间】:2017-02-27 13:36:51
【问题描述】:

我想知道每 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 秒。

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

是否有任何可靠的方法可以每 5 秒向服务器发送一次准确的位置更新?

【问题讨论】:

    标签: android google-maps location


    【解决方案1】:

    首先(如果您还没有) - 请查看 Google 的 FusedLocationProviderApi,它旨在在位置更新方面提高网络/电池的效率。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-20
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 2018-03-26
      相关资源
      最近更新 更多