API Automotive Location Bypass

Cette fonctionnalité permet aux conducteurs inclus dans la liste d'autorisation et intégrés à Android les applications d'assistance doivent être contrôlées séparément par le biais de l'option d'assistance". Cela permet à ces applis d'accéder à votre position même si l'option "Utiliser ma position" est désactivé.

  • Android 12 ne fournit pas d'API publique pour cette . Les applications d'aide à la conduite devraient demander les mises à jour de la position comme d'habitude.
  • Android 13 ou version ultérieure doit envoyer une demande de position d'utiliser LocationManager.requestLocationUpdates() et de transmettre un Objet LocationRequest configuré avec LocationRequest.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 apprendre pour en savoir plus sur les règles d'utilisation, consultez Règle de liste d'autorisation de contournement des emplacements.

Vérifier l'état du bouton d'aide à la conduite

Sous 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)

Vous pouvez vérifier ou modifier rapidement l'état de l'aide à la conduite pour le développement et les tests sans utiliser les paramètres de localisation.

  1. Pour vérifier ou modifier l'état à l'aide des commandes ADB, procédez comme suit:
    // 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 ressources suivantes pour connaître les versions d'Android spécifiques à chaque version:

  1. Sous Android 12, les applications d'aide à la conduite doivent disposer du WRITE_SECURE_SETTINGS l'autorisation.
  2. Sur Android 13 et versions ultérieures, L'autorisation LOCATION_BYPASS est requise.

Ajouter une application à la liste d'autorisation sur votre appareil

Dans le répertoire etc/sysconfig:

  1. Ajoutez le nom du package de l'application dans un fichier XML de configuration système:
  2. <!-- 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 du communiqué sur les 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/>

Supprimez 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 position à partir d'Android, vous pouvez mettre en commentaire le bloc de code pour supprimer le bouton bascule des paramètres de localisation.

  1. Ouvrir 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/>
  2. Après avoir supprimé le bouton bascule, définissez config_defaultAdasGnssLocationEnabled sur false

Exécuter la suite de tests Automotive

Google propose un test ATS (Automotive Test Suite), qui garantit que toute l'aide à la conduite packages sur un appareil ont été ajoutés à la liste d’autorisation de Google. Le test est configuré à distance. Toi n’avez pas besoin d’attendre la prochaine version ATS pour ajouter un nouveau package. Pour en savoir plus, consultez la page Effectuez des tests automobiles dans une boîte.