Cette fonctionnalité permet de contrôler séparément l'accès à la position des applications d'aide à la conduite intégrées à 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 l'option "Utiliser la position" est désactivée.
- Android 12 ne fournit pas d'API publique pour cette fonctionnalité. Les applications d'aide à la conduite doivent demander des notifications de position comme d'habitude.
- Android 13 et versions ultérieures doivent envoyer une demande de localisation pour utiliser
LocationManager.requestLocationUpdates()et transmettre un objetLocationRequestconfiguré avecLocationRequest.setAdasGnssBypass(true).
Utiliser l'API de contournement de la localisation pour l'aide à la conduite
Les sections suivantes décrivent comment utiliser l'API de contournement de la localisation pour l'aide à la conduite. Pour en savoir plus sur les règles d'utilisation, consultez Règles de la liste d'autorisation de contournement de l'emplacement.
Vérifier l'état du bouton d'aide à la conduite
Sur Android 13 ou version ultérieure, vous pouvez vérifier l'état du bouton d'aide à la conduite avant de demander des notifications 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'aide à 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
Consultez les pages suivantes pour en savoir plus sur les différentes versions d'Android :
- Sur Android 12, les applications d'aide à la conduite doivent disposer de l'autorisation WRITE_SECURE_SETTINGS.
- Sous Android 13 ou version ultérieure, l'autorisation
LOCATION_BYPASSest 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 apparaît dans l'interface utilisateur des paramètres de localisation, ajoutez son nom à config_locationDriverAssistancePackageNames.
Ajoutez l'URL 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/>
Supprimer le bouton "Utiliser la position pour l'aide à la conduite"
Si vous n'avez pas d'application d'aide à la conduite basée sur la localisation qui demande la localisation à Android, vous pouvez mettre en commentaire 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 mettez en commentaire 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 commutateur, définissez
config_defaultAdasGnssLocationEnabledsurfalse.
Exécuter l'Automotive Test Suite
Google fournit un test Automotive Test Suite (ATS) qui permet de s'assurer que tous les packages d'aide à la conduite 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 nouveau package. Pour en savoir plus, consultez Complete Automotive Tests in a Box.