我想知道什么是电池效率方式每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秒向服务器发送准确的位置更新?
答案 0 :(得分:0)
首先(如果您还没有) - 请查看Google的FusedLocationProviderApi,这些内容旨在提升网络/电池效率。
另外,你有没有找到GCM Network manager?这旨在实现电池效率高的任务(一次性或重复性)。它尝试将这些任务与其他网络请求一起批处理,以保存设备无线电的多次激活。 (Here's a short explanation)