我目前正在使用in方法FusedLocationProviderClient
请求位置更新。创建活动后,注册为位置更新侦听器。但是位置更新仍然在晚上继续,因为我没有从接收器中删除位置更新,但我不需要在晚上更新,因为它们通常在家里。我想在晚上 10 点从接收器中删除更新,并在每天早上 6 点重新开始接收位置更新。我认为这就足够了,但我找不到处理这个问题的正确方法。我可以忽略接收器晚上的更新,但我认为这不是一个省电的解决方案。MainActivity
onCreate
BroadcastReceiver
AlarmManager
概括
requestLocationUpdates(...)
当用户第一次打开应用程序时请求位置更新并使用 BroadcastReceiver ( )在后台处理更新- 每天晚上 10 点从 BroadcastReceiver 中删除位置更新,因为应用程序不需要在晚上更新位置 (
removeLocationUpdates(...)
) - 在每天早上 6 点请求位置更新,因为应用程序需要在白天使用 BroadcastReceiver 在后台更新位置