代码是这样的:
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);
}