2011-08-03 47 views

回答

0

您需要检查并查看哪一个在为了提供您想要使用它们,然后用相应的一个:

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

谢谢你,因为我想用这个模型来获得最佳性能(http://developer.android.com/guide/topics/location/obtaining-user-location.html),所以决定从哪里来的最佳位置几个网络和gps位置。你有什么想法我应该如何实现这篇文章中提到的时间窗口?如何听2分钟的更新为例,然后做... – Sandra

+0

当你调用requestLocationUpdates()第二个参数是LOCATION_UPDATE_MIN_TIME,你可以将其设置为120000(两分钟) –

+0

是的,但想法是有更新例如,最短时间设置为15秒,因此在2分钟的时间内,我将有大约4个位置(如果所有事情都按时钟进行),并从这个帖子中提供的函数的4个位置(isBetterLocation是名称我想)我会选择最准确的一个..但我想我可能有其他想法,谢谢你的回复。 – Sandra

相关问题