代码是这样的:

private LocationManager locationManager1;
private LocationManager locationManager2;
......
locationManager1 =(LocationManager)getSystemService(Context.LOCATION_SERVICE);
locationManager2 =(LocationManager)getSystemService(Context.LOCATION_SERVICE);
....
locationManager1.requestLocationUpdates("GPS",30000, 0, LbsClient2ServerDemo.this);

locationManager2.requestLocationUpdates("GPS",0, 0, LbsClient2ServerDemo.this);
......


当两个locationManager对象调用requestLocationUpdates(...)时,
locationManager1和locationManager2具有GPS提供程序。

locationManager1对象现在正在搜索卫星,但是locationManager2即将到来,locationManager2.requestLocationUpdates()是否会中断locationManager1?也许会导致GPS定位慢得多吗?

最佳答案

您不必创建两个LocationManager对象。

使用这种方法来获取所有可用的提供程序并从中获取修复程序,并且onLocationChanged()中返回的修复程序将是LocationManager能够更好地获得的。

List<String> providers = locationManager.getProviders(true);
for (String provider : providers) {
    locationManager.requestLocationUpdates(provider, 0, 0, this);
}

07-24 09:47