Ho il codice seguente:
SosServiceListener mlistener = new SosServiceListener(this);
manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
// getting network status
boolean isNetworkEnabled = manager.
isProviderEnabled(LocationManager.NETWORK_PROVIDER);
String provider;
if (isNetworkEnabled) {
provider = LocationManager.NETWORK_PROVIDER;
} else {
provider = LocationManager.GPS_PROVIDER;
}
manager.requestSingleUpdate(provider, mlistener, null);
manager.getLastKnownLocation(provider);
ma il SosServiceListener non viene mai chiamato: (Qualche idea sul perché?
risposte:
0 per risposta № 1String provider;
if (isNetworkEnabled) {
provider = LocationManager.NETWORK_PROVIDER;
} else {
provider = LocationManager.GPS_PROVIDER;
}
è abilitato GPS sul dispositivo, con Satelliteopzione impostata nella sezione Sicurezza delle impostazioni mobili? perché supponi che GPS_PROVIDER sia abilitato, solo perché NETWORK_PROVIDER è disabilitato? che non è accurato ...
anche manager.getLastKnownLocation(provider);
sarà di ritorno Location
oggetto direttamente e non risulterà una chiamata ai metodi di callback nell'ascoltatore ...
quindi è necessario utilizzare uno di loro ...