En Android, las aplicaciones pueden recibir la localización a través de dos tipos de permisos: android.permission.ACCESS_COARSE_LOCATION
y/o android.permission.ACCESS_FINE_LOCATION
de https://developers.google.com/maps/documentation/Android-sdk/location#location_permissions
Android.permission.ACCESS_COARSE_LOCATION - Permite que la API utilice WiFi o datos celulares (o ambos) para determinar la ubicación del dispositivo. La API devuelve la ubicación con una precisión aproximadamente equivalente a una manzana.
Android.permission.ACCESS_FINE_LOCATION - Permite a la API determinar una localización lo más precisa posible a partir de los proveedores de localización disponibles, incluyendo el Sistema de Posicionamiento Global (GPS), así como el WiFi y los datos celulares móviles.
Así que si la aplicación te da el tiempo, todo lo que la aplicación necesita ACCESS_COARSE_LOCATION
que dará al usuario una buena localización en un radio de 10 metros, lo que es suficiente para saber dónde está esa persona en función de las condiciones meteorológicas. Este nivel de precisión puede hacerse con WiFi o con datos a través de torres de telefonía móvil.
Si la aplicación es una aplicación para compartir viajes, entonces ACCESS_FINE_LOCATION
es necesario ya que dará la ubicación del usuario a unos pocos metros. Esto utilizará el GPS para obtener la ubicación del usuario.
Así que ahora llegamos a tu pregunta:
¿es posible obtener la ubicación a través de una red celular si el dispositivo no tiene un plan de datos?
Si el dispositivo móvil no tiene un plan de datos a través de la red celular Y no hay datos a través de WiFI entonces las aplicaciones no obtienen COARSE_LOCATION
sin un distintivo Location Provider
(ver respuesta de @Izzy).
Hay que tener en cuenta que, al menos en Estados Unidos, las operadoras están obligadas a soportar el E911 que, en caso de emergencia, se supone que puede proporcionar la localización del teléfono a las autoridades de emergencia.
Si está desconectado de cualquier red Celular, desconectado del WiFi y no está usando un Location Provider
entonces el GPS podrá obtener las coordenadas de tu ubicación. Calcular esas coordenadas requiere datos que se proporcionan en la señal de los satélites, pero debido al escaso ancho de banda tardará muchos minutos. Las coordenadas por sí solas no hacen una aplicación, ya que cualquier aplicación de mapas necesitaría almacenar previamente los datos de los mapas (calles, puntos de referencia, ríos, etc.) desde que tienes datos hasta que no tienes conexión de datos. Tener una conexión de datos acelerará el cálculo para FINE_LOCATION
.
0 votos
Ver: ¿Qué significa realmente "Descargar datos asistidos por GPS sólo a través de redes Wi-Fi"? ya que creo que cubre lo que estás preguntando.
0 votos
También tengo esta pregunta, pero no la he hecho todavía: ¿pueden los dispositivos Android obtener la localización con wifi si el dispositivo no está conectado a ninguna red wifi? o ¿es necesario que el dispositivo esté conectado al wifi?
0 votos
Vuelva a leer esta respuesta: Android.stackexchange.com/a/101344/3573 Los datos de localización tienen que venir de algún sitio: GPS desde un satélite, AGPS desde una torre de telefonía o localización basada en WiFi desde los servicios de Google. En todos los casos, tiene que ser enviado asumiendo la conexión de datos. Así que si en el desierto sin WiFI y sin celular, el GPS funcionará eventualmente. Deberías actualizar tu pregunta con las variaciones de habilitado/deshabilitado que te cuesta entender.
0 votos
Entonces, ¿cuál es la respuesta? ¿es que sí se necesita un plan de datos? o que no se necesita un plan de datos? ¿está diciendo que un dispositivo necesita/tiene que estar conectado a algo que le proporcione localización? no sé qué quiere decir con "suponer" la conexión de datos. no sé si quiere decir "con" o "a través de" o "tiene" conexión de datos. este uso de "suponer" es muy poco claro para mí
0 votos
Preguntas si necesitas un plan de datos, no indicas qué tipo de localización (fina o gruesa) intentas conseguir ni cuánto tiempo estás dispuesto a esperar. El GPS no requiere datos de la célula o del wifi pero tomará un rato para conseguir un arreglo como la conexión de datos para los datos de la localización está viniendo del satélite (s). Ver la respuesta vinculada en mi segundo comentario.
0 votos
1) "qué tipo de localización (fina o gruesa)" - ¿qué quieres decir con "fina o gruesa"? sólo lo que te da la red celular (lte). 2) "o cuánto tiempo estás dispuesto a esperar" - no sé, sólo lo que tarde la red celular. la pregunta es específicamente sobre la red celular, y podría preguntar sobre cada una de las otras formas de "obtener la ubicación" por separado. también sería útil una buena guía de vídeo o un análisis de todas las formas principales. una respuesta directa a: "¿está diciendo que un dispositivo necesita/tiene que estar conectado a algo que le dé la localización?" también es necesaria
0 votos
Su confusión me deja perplejo, así que permítame volver a lo básico. Edita tu pregunta con: ¿Qué dispositivos está utilizando y proporcione ejemplos de cómo va a utilizar los dispositivos relacionados con la ubicación y la red celular?
0 votos
He reformulado la pregunta; es exactamente la misma pregunta que antes, sólo que reformulada. nada de esto va a cambiar la respuesta. 1) la pregunta se refiere al método, no al dispositivo, por lo que no entiendo por qué sería relevante: "¿Qué dispositivos utiliza? 2) de nuevo, la pregunta se refiere a los hechos de cómo funciona algo, así que no entiendo por qué esto sería relevante: "ejemplos de cómo va a utilizar los dispositivos relacionados con la ubicación y la red celular".