ubicacion studio seleccionar quitar prueba programacion móviles icono desde desarrollo curso como aplicaciones aplicacion aparece activar android location location-provider

studio - Proveedores de ubicación de Android: ¿proveedor de GPS o de red?



programacion android pdf 2018 (3)

En mi aplicación, me gustaría determinar la ubicación actual del usuario. Sin embargo, tengo un par de preguntas al respecto:

  1. Hay diferentes proveedores de ubicación, ¿cuál es el más preciso? ¿El proveedor de GPS o el proveedor de la red ?

  2. ¿En qué medida difieren esos proveedores disponibles? ¿Cómo funcionan?

  3. ¿Podría proporcionarme algunos fragmentos de código o tutoriales sobre cómo comenzar a implementar la funcionalidad de GPS en mi aplicación?


Hay 3 proveedores de ubicación en Android.

Son:

gps -> (GPS, AGPS): nombre del proveedor de ubicación GPS. Este proveedor determina la ubicación usando satélites. Dependiendo de las condiciones, este proveedor puede tomar un tiempo para devolver una corrección de ubicación. Requiere el permiso android.permission.ACCESS_FINE_LOCATION.

red -> (AGPS, CellID, WiFi MACID): nombre del proveedor de ubicación de la red. Este proveedor determina la ubicación en función de la disponibilidad de la torre celular y los puntos de acceso WiFi. Los resultados se recuperan mediante una búsqueda de red. Requiere cualquiera de los permisos android.permission.ACCESS_COARSE_LOCATION o android.permission.ACCESS_FINE_LOCATION.

pasivo -> (CellID, WiFi MACID): un proveedor de ubicación especial para recibir ubicaciones sin iniciar realmente una corrección de ubicación. Este proveedor se puede usar para recibir pasivamente actualizaciones de ubicación cuando otras aplicaciones o servicios lo solicitan sin solicitarlas usted mismo. Este proveedor devolverá las ubicaciones generadas por otros proveedores. Requiere el permiso android.permission.ACCESS_FINE_LOCATION, aunque si el GPS no está habilitado, este proveedor solo puede devolver correcciones gruesas. Esto es lo que Android llama a estos proveedores de ubicación, sin embargo, las tecnologías subyacentes para hacer que esto funcione se asignan al conjunto específico de capacidades proporcionadas por hardware y telecomunicaciones (servicio de red).

La mejor manera es utilizar primero el proveedor "de red" o "pasivo", y luego recurrir a "gps", y dependiendo de la tarea, cambiar de proveedor. Esto cubre todos los casos, y proporciona un servicio de denominador común más bajo (en el peor de los casos) y un excelente servicio (en el mejor de los casos).

Referencia del artículo: Proveedores de ubicación de Android: gps, red, pasivo Por Fernando Cejas

Referencia de Código: https://.com/a/3145655/28557

-----------------------Actualizar-----------------------

Ahora Android tiene un proveedor de ubicación fusionada

El proveedor de ubicación fusionada gestiona inteligentemente la tecnología de ubicación subyacente y le brinda la mejor ubicación de acuerdo con sus necesidades. Simplifica las formas en que las aplicaciones obtienen la ubicación actual del usuario con mayor precisión y menor consumo de energía.

Proveedor de ubicación fusionada proporciona tres formas de obtener ubicación

  1. Última ubicación: Úselo cuando quiera saber la ubicación actual una vez.
  2. Solicitar ubicación usando Listener: se usa cuando la aplicación está en la pantalla / frontend y requiere una ubicación continua.
  3. Solicitar ubicación usando la intención pendiente: se usa cuando la aplicación está en segundo plano y requiere una ubicación continua.

Referencias

Sitio oficial: http://developer.android.com/google/play-services/location.html

Ejemplo de proveedor de ubicación fusionada: GIT: https://github.com/kpbird/fused-location-provider-example

http://blog.lemberg.co.uk/fused-location-provider

-------------------------------------------------- ------


El GPS generalmente es más preciso que la red, pero a veces el GPS no está disponible, por lo tanto, es posible que deba cambiar entre los dos.

Un buen comienzo podría ser mirar el sitio de desarrollo de Android. Tenían una sección dedicada a determinar la ubicación del usuario y tiene todas las muestras de código que necesita.

http://developer.android.com/guide/topics/location/obtaining-user-location.html


Hay algunas buenas respuestas mencionadas aquí. Otro enfoque que podría tomar sería usar algunos SDK gratuitos disponibles en línea como Atooma, tranql y Neura, que se pueden integrar con su aplicación Android (lleva menos de 20 minutos integrarse). Además de brindarle la ubicación precisa de su usuario, también puede brindarle información valiosa sobre las actividades de su usuario. Además, algunos de ellos consumen menos del 1% de su batería