【发布时间】:2011-03-21 23:50:23
【问题描述】:
我正在编写的应用程序使用 GPS 位置管理器服务 requestLocationUpdates() 但我希望能够在整个程序中更改最小时间和最小距离参数。我在创建时初始化了位置侦听器,但我不知道如何更改这些参数,甚至不知道是否可以这样做。这样做的主要目的是在程序不需要定期更新位置时节省电池寿命。非常感谢你的帮助! -Dom
【问题讨论】:
标签: android gps locationmanager
我正在编写的应用程序使用 GPS 位置管理器服务 requestLocationUpdates() 但我希望能够在整个程序中更改最小时间和最小距离参数。我在创建时初始化了位置侦听器,但我不知道如何更改这些参数,甚至不知道是否可以这样做。这样做的主要目的是在程序不需要定期更新位置时节省电池寿命。非常感谢你的帮助! -Dom
【问题讨论】:
标签: android gps locationmanager
我不确定这是否正确,但遇到同样的问题,我偶尔会删除 LocationListener,然后以不同的刷新间隔将其添加回来:
if (locationManager != null && locationListener != null) {
locationManager.removeUpdates(locationListener);
}
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, refreshInterval, 50, locationListener);
【讨论】:
不幸的是,requestLocationUpdates() 方法保持 GPS 开启,直到调用 removeUpdates()。最后,我使用了一个计时器来请求一个位置,并每分钟立即 removeUpdates() (以节省电池)。
【讨论】: