2015-01-30 3 views
0
  1. является LocationListener.onLocationChanged метод лучше, чем любой другой способ получения Местоположение.является метод «LocationListener.onLocationChanged» лучше, чем любой другой способ получения Расположение

  2. , если есть лучший способ его использования, чтобы повысить производительность батареи.

ответ

0

Я не знаю альтернативы LocationListener.onLocationChanged, может быть, вы сами можете пролить некоторый свет на это?

Что касается проблемы с аккумулятором, вы можете позвонить по телефону requestLocationUpdates() реже, чтобы избежать разряда батареи. Этот вызов для этого содержит переменную minDistance (в миллисекундах), вы должны использовать ее. Обратите внимание, что наблюдение 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); 
} 

Для дальнейшей ссылки см DOCU для requestLocationUpdates()