En mi aplicación, quiero usar ambos proveedores de ubicación.¿Cómo cambio de GPS a proveedor de red?
Eso significa que, si el gps está desactivado, quiero que mi aplicación cambie a la red y cuando gps esté habilitado para volver a activarla.
Estoy usando dos LocationListener para manejar esas dos solicitudes.
public void onStatusChanged(String provider, int status,Bundle extras)
switch (status) {
case LocationProvider.TEMPORARILY_UNAVAILABLE:
......
break;
case LocationProvider.OUT_OF_SERVICE
.....
break;
case LocationProvider.AVAILABLE
.....
break;
}
Y en el cada oyente, detectar aquellas estado en el onStatusChanged()
. Resulta que este método se usará en el primer cambio (red deshabilitada), pero cuando habilito la red nuevamente, no muestra nada. ¿Por qué fue eso? ¿El oyente no detectará el estado todo el tiempo?
Por favor, ayúdenme, sería mejor publicar su solución en código ... ¡Gracias!
vistazo a mi nueva comentar. – user370305
Chicos, la nueva solución es una combinación de user370305 y el trabajo de Fedor. Fedor hizo un gran trabajo al inicializar y elegir el proveedor de ubicación correcto. Y con la ayuda de user370305. Podemos iniciar un hilo para detectar el estado de la red/gps. Porque, si haces un 'removeUpdates()', el oyente ya no funcionará. Por lo tanto, el 'caso LocationProvider.AVAILABLE' es inútil. Solo puedes usar el hilo para hacer una nueva solicitud. (Sé que no es muy buena, así que si tienes una mejor solución, por favor avísame, ¡me encantará ver eso! ¡Gracias!) – alvan