¿Es posible obtener la ubicación a través de una red celular si el dispositivo no tiene un plan de datos?
¿O necesita un plan de datos para poder obtener la ubicación a través de una red celular?
¿Se necesita un plan de datos para obtener la ubicación a través de una red celular?
Sí, eso es posible sin una conexión de datos, por ejemplo, utilizando UnifiedNLP y un proveedor de ubicación correspondiente . Por ejemplo, uso LocalGsmNlpBackend , que descarga una selección de la base de datos OpenCellId (para el área que necesito) en el dispositivo para uso local. Esa base de datos contiene las posiciones de las torres celulares. Como está reservado en al menos uno de esos, se puede estimar su ubicación aproximada. Agregue otro proveedor de ubicación que, por ejemplo, esté basado en WiFi para obtener más precisión si lo desea. Además de descargar los datos (preferiblemente mientras está conectado al WiFi de su hogar), esto funciona completamente sin una conexión de datos.
Asegúrese de elegir el paquete UnifiedNLP correcto, dependiendo de si su dispositivo tiene instalado el marco de trabajo de Google (la ROM estándar generalmente tiene esto, o si usa una ROM personalizada pero tiene GApps instalado) o si usa una ROM personalizada sin GApps.
Para obtener una descripción más detallada, consulte mi artículo Android sin Google: microG , que analiza la variante en un dispositivo sin marco de Google.
En Android, se puede otorgar ubicación a las aplicaciones a través de dos tipos de permisos: android.permission.ACCESS_COARSE_LOCATION
y/oandroid.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 use WiFi o datos móviles (o ambos) para determinar la ubicación del dispositivo. La API devuelve la ubicación con una precisión aproximadamente equivalente a una manzana de la ciudad.
android.permission.ACCESS_FINE_LOCATION: permite que la API determine una ubicación lo más precisa posible a partir de los proveedores de ubicación disponibles, incluido el Sistema de posicionamiento global (GPS), así como WiFi y datos móviles.
Entonces, si la aplicación le brinda el clima, todo ACCESS_COARSE_LOCATION
lo que necesita la aplicación le dará al usuario una buena ubicación para un radio de 10 segundos, lo que es lo suficientemente bueno para saber dónde está esa persona por las condiciones climáticas. Este nivel de precisión se puede lograr con WiFi o datos a través de torres celulares.
Si la aplicación es una aplicación de viaje compartido, entonces ACCESS_FINE_LOCATION
es necesaria ya que le dará la ubicación del usuario a unos pocos metros. Esto utilizará GPS para obtener la ubicación del usuario.
Así que ahora vamos 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 tiene datos a través de WiFi, las aplicaciones no se obtienen COARSE_LOCATION
sin una distinción Location Provider
(consulte la respuesta de @Izzy).
Tenga en cuenta que, al menos en los Estados Unidos, los operadores deben admitir E911 que, en caso de emergencia, se supone que puede proporcionar la ubicación del teléfono a las autoridades de emergencia.
Si está desconectado de cualquier red celular, desconectado de WiFi y no está utilizando un Location Provider
GPS especializado, podrá obtener las coordenadas de su ubicación. Calcular esas coordenadas requiere datos que se proporcionan en la señal de los satélites, pero debido al bajo ancho de banda tomará muchos minutos. Las coordenadas por sí solas no hacen una aplicación, ya que cualquier aplicación de mapas necesitaría almacenar previamente en caché los datos de su mapa (calles, puntos de referencia, ríos, etc.) desde que tenía datos hasta que no tiene una conexión de datos. Tener una conexión de datos acelerará el cálculo de FINE_LOCATION
.
There is NO generic casual user
y lo digo como desarrollador de aplicaciones. Es mejor describir lo que desea hacer, también conocido como historia de usuario o caso de uso, y obtendrá una respuesta más informada. Si está haciendo Navegación, necesitará FINE_LOCATION
el uso de energía y los cortes de GPS en entornos urbanos.Existen dos formas básicas de geolocalizar un dispositivo:
Busque identificaciones de transmisores de radio locales y búsquelos en una base de datos. La tecnología de radio puede ser celular, WiFi o Bluetooth; El principio es el mismo.
Si no lleva la base de datos en el dispositivo (el caso normal), entonces necesita una conexión de datos de algún tipo. La conexión de datos no necesita usar el mismo conjunto de transmisores que se usan para la búsqueda de ubicación; puede buscar ID de WiFi utilizando una conexión de datos móviles, o puede buscar ID de móviles en una conexión de datos WiFi.
Si lleva la base de datos en el dispositivo, no necesita una conexión de datos. Busque la identificación en su base de datos local, como en la respuesta de Izzy.
morrison chang
usuario productivo
morrison chang
usuario productivo
morrison chang
usuario productivo
morrison chang
usuario productivo