Obtenir la position approximative

Pour respecter la confidentialité des utilisateurs, les développeurs d'applications sont invités à ne demander que des les autorisations d'accéder à la position. Les applications qui nécessitent une position approximative utiliser le Fused Network Location (FLP), car il est rapide et consomme moins d'énergie. Par rapport aux appareils mobiles Android, la localisation réseau dans les applications automobiles peut s'avérer plus difficile. Vous pouvez utiliser deux API Android:

  • L'API LocationManager nécessite que vous utilisiez requestLocationUpdates afin d'identifier explicitement le fournisseur de localisation préféré.

  • L'API des services Google Play vous permet d'effectuer plus facilement travailler avec la localisation dans FusedLocationProviderClient

De nombreuses applications automobiles utilisent le FLP de l'API des services Google Play au lieu de LocationManager FLP sélectionne le fournisseur de localisation le plus adapté en fonction de la position les critères de demande et les règles (puissance et précision) nécessaires au véhicule.

Vous pouvez choisir de demander et d'utiliser explicitement NETWORK_PROVIDER ainsi que GPS_PROVIDER pour la position précise, qui utilise android.permission.ACCESS_FINE_LOCATION autorisations. Sur Android 12 (niveau d'API 31) ou version ultérieure, FUSED_PROVIDER auparavant accessibles uniquement via l'API des services Google Play, est est disponible comme fournisseur de localisation pour LocationManager. Vous pouvez voir une implémentation de FLP dans FusedLocationProvider.java

Bien qu'il soit possible d'utiliser GPS_PROVIDER avec des droits d'autorisation approximatifs uniquement, le framework dégrade artificiellement la justesse pour répondre aux attentes. n'a pas d'intérêt pour les développeurs ciblant les téléphones Android, car la disponibilité est faible et souvent plus lente pour obtenir une position approximative.

Emplacement du réseau dans le secteur automobile

Le NETWORK_PROVIDER utilisé sur les téléphones Android (avec les services Google Mobile) détermine votre position en fonction des antennes-relais et des points d'accès Wi-Fi à proximité, et des balises Bluetooth (BT). Par conséquent, NETWORK_PROVIDER peut avoir besoin d'un .

Pour les applications automobiles, les contraintes liées aux appareils diffèrent. Comme la navigation globale de Gthe le système satellitaire (GNSS) est généralement activé, aucune pénalité n'est engagée sollicite davantage l'énergie et sollicite davantage la batterie. Par conséquent, le temps d'activité d'IVI n'est pas compromis. Nous nous efforçons de réduire au maximum les données échangées avec nos serveurs.

De nombreuses applications utilisent donc FLP à partir de l'API Play au lieu de LocationManager. car FLP effectue automatiquement les opérations intelligentes en utilisant la localisation de localisation le mieux à même de satisfaire aux critères/règles de demande de localisation (à savoir, l'alimentation et précision).

Contrairement aux appareils mobiles, les véhicules semblent rarement sauter d'un endroit à un autre une autre. La position du véhicule est connue sous le capot la plupart du temps.

Fournisseur de géolocalisation (TLN)

La plupart des véhicules n'implémentent pas les API de téléphonie requises pour obtenir les informations nécessaires en fonction de l'ID de la cellule GSM (et de l'intensité du signal). Par conséquent, et comme nous minimisons les données aucune implémentation fonctionnelle supplémentaire du TLN n'est fournie.

Fused Location Provider

Le FLP du mobile, en plus d'utiliser intelligemment les fournisseurs de réseau et de GPS les informations provenant d'autres capteurs sont fusionnées pour améliorer la qualité des emplacements. La mise en œuvre actuelle du programme FLP d'Automotive tire parti des hypothèses mentionnées ci-dessus et utilise GPS_PROVIDER en tant que source sous-jacente à tout moment. Cela fausse les positions à partir du GNSS, en ajoutant quelques erreurs pour être plus imprécis si nécessaire. Par exemple : lorsque des emplacements approximatifs sont fournis à un client.

Par conséquent, dans de très rares cas, la période à être disponibles en première position. Par exemple, la toute première fois qu'un véhicule ou plus précisément, son sous-système de localisation est utilisé ou après avoir été remorqué.

Concevez des applications pour cibler les usages mobiles et automobiles

Pour les applications ciblant les appareils mobiles et automobiles qui ne exigent une plus grande précision, les requêtes android.permission.ACCESS_COARSE_LOCATION uniquement et utiliser FLP lorsque celui-ci est disponible. Vous pouvez également utiliser GPS_PROVIDER directement avec les mêmes autorisations. Le framework dégrade de la position GNSS sous-jacente pour répondre aux attentes de l'API. À Pour en savoir plus, consultez la section Précision dans Demander l'autorisation d'accéder à la position.

De plus, ces applications doivent déclarer explicitement android.hardware.location.network fonctionnalité facultative dans son fichier manifeste. Exemple :

<uses-feature android:name="android.hardware.location.network" android:required="false" />

Cette approche garantit une compatibilité maximale avec les appareils de tous les secteurs. Vous bénéficiez ainsi d'une disponibilité maximale de l'application sans aucune différence de code pour obtenir en fonction des besoins.