Cette fonctionnalité permet de contrôler séparément l'accès aux données de localisation des applications d'aide à la conduite incluses dans Android et figurant sur la liste d'autorisation à l'aide du bouton "Utiliser la position pour l'aide à la conduite". Cela permet à ces applications d'accéder à la position même lorsque le bouton "Utiliser la position" est désactivé.
- Android 12 ne fournit pas d'API publique pour cette fonctionnalité. Les applications d'aide à la conduite doivent demander des mises à jour de la position comme d'habitude.
- Android 13 et versions ultérieures doivent envoyer une requête de localisation pour utiliser
LocationManager.requestLocationUpdates()
et transmettre un objetLocationRequest
configuré avecLocationRequest.setAdasGnssBypass(true)
.
Utiliser l'API de contournement de la position de l'aide à la conduite
Les sections suivantes décrivent comment utiliser l'API de contournement de l'emplacement d'assistance au conducteur. Pour en savoir plus sur le règlement d'utilisation, consultez la Politique concernant la liste d'autorisation de contournement de la localisation.
Vérifier l'état du bouton d'assistance à la conduite
Sous Android 13 et versions ultérieures, vous pouvez vérifier l'état du bouton d'assistance au conducteur avant de demander des mises à jour de position.
// Returns the current status of "Use location for driver assistance". locationManager.isAdasGnssLocationEnabled();
Exécuter des commandes Android Debug Bridge (ADB)
Pour le développement et les tests, vous pouvez rapidement vérifier ou modifier l'état du bouton d'activation de l'assistance à la conduite sans utiliser les paramètres de localisation.
- Pour utiliser des commandes ADB afin de vérifier ou de modifier l'état:
// Gets the status of ADAS location. adb shell cmd location is-adas-gnss-location-enabled // Enables ADAS location. adb shell cmd location set-adas-gnss-location-enabled true // Disables ADAS location. adb shell cmd location set-adas-gnss-location-enabled false
Définir une autorisation
Pour en savoir plus sur les versions d'Android spécifiques, consultez les articles suivants:
- Sous Android 12, les applications d'assistance au conducteur doivent disposer de l'autorisation WRITE_SECURE_SETTINGS.
- Sous Android 13 ou version ultérieure, l'autorisation
LOCATION_BYPASS
est requise.
Ajouter une application à la liste d'autorisation sur votre appareil
Dans le répertoire etc/sysconfig
:
- Ajoutez le nom du package de l'application dans un fichier XML de configuration système:
<!-- In a xml file under etc/sysconfig–> <config> … <allow-adas-location-settings package="PACKAGE-NAME" /> … </config>
Pour vous assurer que votre package s'affiche dans l'UI des paramètres de localisation, ajoutez son nom à config_locationDriverAssistancePackageNames
.
Ajoutez l'URL de la divulgation des règles de confidentialité de l'application à AndroidManifest.xml
. Le nom des métadonnées doit être privacy_policy
.
<meta-data android:name="privacy_policy" android:value= privacy policy URL/>
Suppression du bouton "Utiliser la position pour l'aide à la conduite"
Si vous ne disposez pas d'application d'aide à la conduite basée sur la position qui demande la position à Android, vous pouvez commenter le bloc de code pour supprimer le bouton des paramètres de localisation.
- Ouvrez
packages/apps/Car/Settings/res/xml/location_settings_fragment.xml
, puis commentez le code suivant.<com.android.car.ui.preference.CarUiTwoActionSwitchPreference android:fragment="com.android.car.settings.location.AdasLocationFragment" android:key="@string/pk_location_driver_assistance_state_switch" android:title="@string/location_driver_assistance_toggle_title" android:summary="@string/location_driver_assistance_toggle_summary" settings:controller="com.android.car.settings.location.AdasLocationSwitchPreferenceController" settings:searchable="true"/> <com.android.car.settings.common.DividerPreference/>
- Après avoir supprimé le bouton, définissez
config_defaultAdasGnssLocationEnabled
surfalse
.
Exécuter la suite de tests Automotive
Google fournit un test de la suite de tests Automotive (ATS), qui garantit que tous les packages d'assistance au conducteur d'un appareil ont été ajoutés à la liste d'autorisation de Google. Le test est configuré à distance. Vous n'avez pas besoin d'attendre la prochaine version d'ATS pour ajouter un package. Pour en savoir plus, consultez Complete Automotive Tests in a Box.