Объединенный провайдер местоположения в Android
Я разрабатываю приложение с использованием Fused Location Provider. Я сомневаюсь. Для получения местоположения через равные промежутки времени он использует requestLocationUpdates (). Но из какого источника он получает местоположение либо через WIFI, либо через GPS, либо через сеть. В моем приложении он получает местоположение через равные промежутки времени только при включенном WiFi. Когда WiFi находится в выключенном состоянии, он можетне получить местоположение (оно должно было получить местоположение из какого-то другого источника, либо из GPS или сети. Но оно никогда не получало местоположение. Или я должен написать слушателей для GPS и сети). Я нене знаю в чем проблема. Может кто-нибудь мне помочь.
И работает ли он только тогда, когда все провайдеры (Wi-Fi, GPS, сеть) доступны или еще.
public void checkPlay(){
int resp = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
if (resp == ConnectionResult.SUCCESS) {
locationClient = new LocationClient(this, this, this);
locationClient.connect();
} else {
Toast.makeText(this, "Google Play Service Error " + resp,
Toast.LENGTH_LONG).show();
}
}
public void onConnected(Bundle arg0) {
// TODO Auto-generated method stub
if (locationClient != null && locationClient.isConnected()) {
locationRequest = LocationRequest.create();
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationRequest.setInterval(100);
locationClient.requestLocationUpdates(locationRequest, this);
}
}
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
try {
if (location != null) {
lat = location.getLatitude();
long = location.getLongitude();
}
} catch (Exception e) {
Log.d(Fots.TAG,
"GpsTrackService.mGpsLocationListener.onLocationChanged", e);
}
}