Para respetar la privacidad del usuario, se alienta a los desarrolladores de apps a solicitar únicamente las direcciones generales permisos de ubicación. Por lo general, las apps que necesitan una posición aproximada aproximada usar la ubicación de red combinada (FLP), ya que es rápida y consume menos energía. En comparación con los dispositivos móviles basados en Android, la ubicación de red en las aplicaciones para automóviles puede ser más desafiante. Puedes usar dos APIs de Android:
La API de LocationManager requiere que uses
requestLocationUpdates
para identificar explícitamente el proveedor de ubicación preferido.La API de Google Play Services te ofrece una manera más sencilla de trabajar con la ubicación en
FusedLocationProviderClient
Muchas apps para la industria automotriz usan el FLP de la API de Google Play Services en lugar de
LocationManager
FLP selecciona el proveedor de ubicación óptimo en función de la ubicación.
solicitar los criterios y las políticas (potencia y precisión) que necesita el vehículo.
En su lugar, puedes optar por solicitar y usar
NETWORK_PROVIDER
así como
GPS_PROVIDER
para
las posiciones precisas, que usan
android.permission.ACCESS_FINE_LOCATION
permisos. En Android 12 (nivel de API 31) y versiones posteriores, la
FUSED_PROVIDER
:
que antes solo se podía acceder a través de la API de Google Play Services,
disponible como proveedor de ubicación para LocationManager
. Puedes ver una implementación de FLP en
FusedLocationProvider.java
Si bien es posible usar GPS_PROVIDER
solo con derechos de permiso generales:
el marco degrada artificialmente la precisión para alinearse con las expectativas:
no tiene mucho sentido para los desarrolladores que se orientan a teléfonos Android porque, en general,
La disponibilidad es baja y, a menudo, es más lenta para obtener una posición aproximada.
Ubicación de la red en la industria automotriz
El NETWORK_PROVIDER
que se usa en teléfonos Android (con Servicios de Google para dispositivos móviles)
determina la ubicación en función de torres de telefonía celular, puntos de acceso Wi-Fi y
Balizas Bluetooth (BT) Por lo tanto, es posible que NETWORK_PROVIDER
requiera datos
conexión.
En el caso de las apps para vehículos, las restricciones de los dispositivos son diferentes. Debido a que Gthe Global Navigation satelital (GNSS) suele estar encendido, no se aplican penalizaciones debido a el aumento en el uso de la batería y la energía. Como resultado, el tiempo de actividad de IVI no se ve comprometido. Nos esforzamos por minimizar el intercambio de datos con nuestros servidores.
Por lo tanto, muchas apps usan FLP de la API de Play en lugar de LocationManager
.
directamente, ya que FLP realiza la inteligencia automáticamente con la función
proveedor de servicios en la nube que mejor satisfaga las políticas o criterios de solicitud de ubicación (p. ej., potencia
y exactitud).
A diferencia de los dispositivos móviles, rara vez los vehículos parecen saltar de un lugar a con el otro. La mayoría de las veces se conoce la posición del vehículo debajo del capó.
Proveedor de ubicación de red (PLN)
La mayoría de los vehículos no implementan las APIs de telefonía necesarias para obtener la información necesaria en un ID de celular (y la intensidad de la señal). Como resultado, y debido a que minimizamos los datos no se proporciona ninguna implementación funcional adicional de PLN.
Proveedor de ubicación combinada
El proveedor de telefonía móvil (FLP) móvil, además de usar de manera inteligente proveedores de red y GPS,
apropiado, fusiona información de otros sensores para mejorar aún más la
la calidad de las ubicaciones. La implementación actual de FLP de la industria automotriz en la
pero, por otro lado, se aprovecha de las suposiciones antes mencionadas y utiliza el
GPS_PROVIDER
como fuente subyacente todo el tiempo Mueve las posiciones
desde GNSS, agregando algunos errores para que sean más imprecisos cuando sea necesario. Por ejemplo:
cuando se proporcionan ubicaciones comunes a un cliente.
Por ello, en muy pocos casos, puede haber un tiempo más largo de lo habitual para que primera posición estén disponibles. Por ejemplo, la primera vez que un vehículo para ser más precisos, se utiliza su subsistema de ubicación o después de un remolque.
Diseñar aplicaciones orientadas a usos móviles y automotores
Para las aplicaciones orientadas a dispositivos móviles y automotores que no
requieren una mayor calidad de precisión, solicitan
android.permission.ACCESS_COARSE_LOCATION
únicamente y vuelve a usar FLP cuando esté disponible. Como alternativa, usa
GPS_PROVIDER
directamente con los mismos permisos. El framework degrada la
de la posición subyacente del GNSS para alinearse con las expectativas de la API. Para
Más información, consulta Precisión
en Cómo solicitar permisos de ubicación.
Además, estas apps deben declarar explícitamente el
android.hardware.location.network
como opcional en su manifiesto. Por ejemplo:
<uses-feature android:name="android.hardware.location.network" android:required="false" />
Este enfoque garantiza la máxima compatibilidad con dispositivos de verticales. así, la disponibilidad máxima de las apps sin diferencias de código para obtener cuando sea necesario.