我应该为GPS和网络提供商使用单独的locationManager吗?

时间:2011-08-03 00:11:17

标签: android networking gps locationmanager

我是否可以使用相同的locationManager来请求gps和网络提供商的更新,或者我应该创建两个locationManagers并分开onLocation更改的功能等。我真的对此感到困惑

1 个答案:

答案 0 :(得分:1)

您需要检查并查看您要使用它们的顺序,然后使用相应的顺序:

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();
}