是“LocationListener.onLocationChanged”方法比任何其他获取位置的方法更好

时间:2015-01-30 04:28:44

标签: android locationlistener battery-saver

  1. LocationListener.onLocationChanged方法比获取位置的任何其他方法更好。

  2. 如果有更好的使用方法,以获得更好的电池性能。

1 个答案:

答案 0 :(得分:0)

我不知道LocationListener.onLocationChanged的另一种选择,也许你自己可以对此有所了解?

至于电池问题,您可以不经常拨打requestLocationUpdates()以避免电池耗尽。 对此调用包含变量minDistance(以毫秒为单位),您应该使用此变量。请注意,在android 4.3。

之前,观察minDistance是不是必须的

对于版本低于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()

的文档