我设置
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 0f, this);
它有一个奇怪的行为,locationChanged每秒被调用而不是接近1分钟的任何时间。其次,locationChanged每秒被调用10秒,然后完全停止,gps satalites图标消失,然后仅在屏幕从显示超时返回时再次恢复。
怎么了?
我目前在Android 1.5上。
答案 0 :(得分:9)
minTime(60000)只是一个提示,并且无法保证您的locationlistener将以1分钟的间隔启动。结合minDistance = 0,您可能会收到更多更新。
我会将minDistance增加到最小1m,并实现补偿逻辑以在代码中实现1分钟的间隔。您可以通过以下方式实现LocationListener:如果位置更新过于紧密,则会忽略它们并且不会处理它们。
您还可以通过位置监听器获得不同的位置,精确度不同,均在该分钟范围内。
您的位置监听器可以选择最佳准确度,并记住维护状态(lastLocationProcessedAt)处理最后一个位置的时间。