2012-03-06 2 views
2

код выглядит так:Когда два объекта locationManager вызывают requestLocationUpdates (...)?

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?

ответ

2

Вам не нужно создавать два объекта: LocationManager.

Используйте этот способ, чтобы получить все доступные поставщиков и получить от них исправления, а также исправления, возвращаемые в onLocationChanged() будет лучше, который LocationManager может получить.

List<String> providers = locationManager.getProviders(true); 
for (String provider : providers) { 
    locationManager.requestLocationUpdates(provider, 0, 0, this); 
} 
Смежные вопросы