每 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
请求更新
我会在我的应用程序中实施 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
请求更新