Cambiar entre las redes en Android

Hola chicos, estoy desarrollando una aplicación en la que necesito encontrar la latitud y longitud del usuario. Puedo encontrar la latitud y la longitud de los proveedores de la red a través del siguiente código: -

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
loc = lm.getLastKnownLocation(lm.NETWORK_PROVIDER);
Toast.makeText(BaseScreen.this, "Lat: "+loc.getLatitude()+" long: "+loc.getLongitude(), Toast.LENGTH_LONG).show();

Ahora, los siguientes son los casos que necesito implementar: -

  • ¿Qué pasa si el usuario está en un edificio y no puede recuperar datos del GPS?
  • ¿Qué pasa si el usuario tiene el GPS desactivado y desea obtener la ubicación de la red?
  • Mi aplicación tiene como 20 actividades si coloco el código de escucha de ubicación en una pantalla base que se extiende por otras actividades y sigo guardando la latitud y la longitud en algún administrador de datos, entonces la devolución de llamada funcionará en esa actividad de la pantalla base incluso si la actividad no es la principal actividad de la interfaz de usuario

preguntado el 16 de mayo de 11 a las 19:05

1 Respuestas

una. Por lo general, debemos registrarnos tanto para el GPS como para el proveedor de red mientras solicitamos actualizaciones, esto soluciona el problema de la línea de visión donde automáticamente recurrimos a los valores proporcionados por la red.

B. Si el GPS está apagado, puede verificarlo desde el código usando isProviderEnabled (), si no, su única opción es usar el proveedor de red.

C. Mejor aún, tenga LocationListener como una clase separada y en onLocationChanged almacene la ubicación recibida que debería estar disponible en su aplicación.

Para registrarse use android.location.LocationListener.requestLocationUpdates

contestado el 20 de mayo de 11 a las 18:05

Estoy registrando los permisos en el manifiesto, pero ¿cómo hacerlo en el código Java en tiempo de ejecución? - Abhishek

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.