代码是这样的:
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位置慢得多?
答案 0 :(得分:2)
您不必创建 LocationManager 的两个对象。
使用这种方式获取所有可用的提供程序并从中获取修复程序,onLocationChanged()
中返回的修补程序将更好, LocationManager 可以获得。
List<String> providers = locationManager.getProviders(true);
for (String provider : providers) {
locationManager.requestLocationUpdates(provider, 0, 0, this);
}