是LocationListener.onLocationChanged
方法比获取位置的任何其他方法更好。
如果有更好的使用方法,以获得更好的电池性能。
答案 0 :(得分:0)
我不知道LocationListener.onLocationChanged
的另一种选择,也许你自己可以对此有所了解?
至于电池问题,您可以不经常拨打requestLocationUpdates()
以避免电池耗尽。
对此调用包含变量minDistance
(以毫秒为单位),您应该使用此变量。请注意,在android 4.3。
对于版本低于4.3的设备,您需要
1)停止在 onLocationChanged
中调用更新@Override
public void onLocationChanged(Location location) {
mLocationManager.removeUpdates(mLocationListener);
}
2)覆盖方法运行以引入新的间隔。
@Override
public void run() {
// getting location...
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mLocationListener);
// ...once per hour
mHandler.postDelayed(onRequestLocation, DateUtils.HOUR_IN_MILLIS);
}
有关进一步参考,请参阅requestLocationUpdates()
的文档