【发布时间】: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