para preguntar al usuario para activar el GPS, echa un vistazo a este link
a continuación serían las entrañas de una función que intenta para obtener la última ubicación GPS conocida ción en orden de precisión descendente. Si el usuario no tiene GPS habilitado, no puede habilitarlo. Lo mejor que puede hacer es tomar la última ubicación conocida o pedirles que activen el GPS. Cada vez que el usuario usa el GPS en otra aplicación y obtiene una nueva coordenada, o se conecta a una red inalámbrica, la última ubicación conocida cambiará. Supongo que podría escribir un servicio en segundo plano que sondee esta información cada 5-10 minutos y se la envíe a usted. Aunque, no estoy de acuerdo con la dirección en la que parece que se dirige con esta aplicación. lol. ¡Para la ciencia!
LocationManager lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
Criteria crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_FINE); String provider = lm.getBestProvider(crit, true);
Location loc = lm.getLastKnownLocation(provider);
if(loc){
return loc;
}
lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_COARSE);
provider = lm.getBestProvider(crit, true);
loc = lm.getLastKnownLocation(provider);
if(loc){
return loc;
}
lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
crit = new Criteria();
crit.setAccuracy(Criteria.NO_REQUIREMENT);
provider = lm.getBestProvider(crit, true);
loc = lm.getLastKnownLocation(provider);
return null;
si ese es el caso, ¿hay una forma de ejecutar una función en el fondo tan pronto como el GPS ha sido activado? – HeWhoProtects
Bueno, está el ['GpsStatus.Listener'] (http://developer.android.com/reference/android/location/GpsStatus.Listener.html) y hay tres métodos de estado en el [' LocationListener'] (http://developer.android.com/reference/android/location/LocationListener.html). –
hmm que podría ser una forma de evitarlo ... Lo echaré un vistazo, gracias Oct – HeWhoProtects