Должен ли я использовать отдельный LocationManager для GPS и сетевого провайдера? - PullRequest
1 голос
/ 03 августа 2011

Могу ли я использовать один и тот же locationManager для запроса обновлений для gps и сетевого провайдера, или я должен создать два locationManager и отдельные onLocation измененные функции и т. Д. Я действительно запутался в этом

1 Ответ

1 голос
/ 03 августа 2011

Вы захотите проверить и посмотреть, какой из них доступен в том порядке, в котором вы хотите их использовать, а затем использовать соответствующий:

if(mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
    mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, LOCATION_UPDATE_MIN_TIME, LOCATION_UPDATE_MIN_DISTANCE, locationListener);
}
else if(mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
    mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, LOCATION_UPDATE_MIN_TIME, LOCATION_UPDATE_MIN_DISTANCE, locationListener);
}

Вы можете использовать один и тот же слушатель, потому что все методы слушателя принимают в качестве параметра объект Location, который не зависит от источника:

@Override
public void onLocationChanged(Location location) {
    // updateLocation();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...