我可以使用相同的 locationManager 来请求 gps 和网络提供商的更新,还是应该创建两个 locationManager 并单独的 onLocation 更改功能等。我对此感到非常困惑
问问题
1022 次
1 回答
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();
}
于 2011-08-03T00:58:11.367 回答