每 1 分钟处理一次 GPS

Handle GPS every 1 minute

我会在我的应用程序中实施 GPS,我会每 1 分钟知道一次用户位置,但我不确定如何才能节省电量。我是否应该在每次获得位置时销毁 "requestLocationUpdates" 并在一分钟后再次调用它?有更好的方法吗?

第一个解决方案

如果您查看 LocationManager 的文档(下面的 Link),您会发现它有一个参数 minTime,它指示位置更新之间的最小时间间隔,以毫秒为单位。

如果您希望每 1 分钟更新一次,则将此参数设置为 60*1000。

但是在 JellyBean 之前,minTime 无效。

Link: http://developer.android.com/reference/android/location/LocationManager.html#requestLocationUpdates(java.lang.String、长整型、浮点型、android.location.LocationListener)

第二种解法

我推荐的第二种解决方案是使用 Handler 和 Looper。基本上每隔一定时间 X 请求位置更新,然后取消位置更新,直到 X 时间后再次请求它,然后它再次循环。检查这个问题的答案Android Location Listener call very often

如果您每分钟都知道用户位置,那么:- 是的,你应该销毁 "requestLocationUpdates" 并实现一个 AlarmManager,它将为 Location

请求更新