API Automotive Location Bypass

Questa funzionalità consente l'accesso alla posizione del conducente app di assistenza che devono essere controllate separatamente dall'opzione "Usa posizione per conducente assistenza". In questo modo queste app possono accedere alla posizione anche quando l'opzione "Usa posizione" su off.

  • Android 12 non fornisce un'API pubblica per questo funzionalità. Le app di assistenza alla guida devono richiedere gli aggiornamenti della posizione come di consueto.
  • Android 13 e versioni successive deve effettuare una richiesta di posizione per usare LocationManager.requestLocationUpdates() e passare Oggetto LocationRequest configurato con LocationRequest.setAdasGnssBypass(true).

Utilizza l'API di bypass della posizione per l'assistenza alla guida

Le sezioni seguenti descrivono come utilizzare l'API di bypass della posizione di assistenza alla guida. Per ulteriori informazioni ulteriori informazioni sulle norme di utilizzo, consulta Criterio della lista consentita per la limitazione della posizione.

Controllare lo stato dell'opzione di assistenza alla guida

In Android 13 e versioni successive, puoi controllare lo stato dell'opzione relativa all'assistenza alla guida prima di richiedere aggiornamenti sulla sede.

// Returns the current status of "Use location for driver assistance".
locationManager.isAdasGnssLocationEnabled();

Eseguire i comandi Android Debug Bridge (ADB)

Per lo sviluppo e i test, puoi controllare o modificare rapidamente lo stato dell'assistenza alla guida attiva/disattiva senza utilizzare le impostazioni di geolocalizzazione.

  1. Per utilizzare i comandi ADB per controllare o modificare lo stato:
    // 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
    

Imposta autorizzazione

Fai riferimento a quanto segue per le release di Android specifiche per la versione:

  1. In Android 12, le app di assistenza alla guida devono avere WRITE_SECURE_SETTINGS autorizzazione.
  2. In Android 13 e versioni successive, L'autorizzazione LOCATION_BYPASS è obbligatoria.

Aggiungere un'app alla lista consentita sul tuo dispositivo

Nella directory etc/sysconfig:

  1. Aggiungi il nome del pacchetto dell'app in un file XML di configurazione di sistema:
  2. <!-- In a xml file under etc/sysconfig–>
    <config>
    …
    <allow-adas-location-settings package="PACKAGE-NAME" />
    …
    </config>
    

Per assicurarti che il pacchetto venga visualizzato nell'interfaccia utente delle impostazioni di geolocalizzazione, aggiungi il nome del pacchetto a config_locationDriverAssistancePackageNames.

Aggiungi a AndroidManifest.xml l'URL dell'informativa sulle norme sulla privacy dell'app. Il nome dei metadati deve essere privacy_policy.

<meta-data android:name="privacy_policy" android:value= privacy policy URL/>

Rimuovi l'opzione "Usa posizione per assistenza alla guida"

Se non hai un'app di assistenza alla guida basata sulla posizione che richiede la posizione ad Android, puoi commentare il blocco di codice per rimuovere l'opzione per le impostazioni di geolocalizzazione.

  1. Aperto packages/apps/Car/Settings/res/xml/location_settings_fragment.xml e poi commenta il seguente codice.
    <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. Dopo aver rimosso il sensore, imposta config_defaultAdasGnssLocationEnabled su false.

Esegui la suite di test Automotive

Google mette a disposizione un test ATS (Automotive Test Suite), che garantisce che tutti i servizi di assistenza alla guida i pacchi su un dispositivo sono stati inseriti nella lista consentita con Google. Il test viene configurato da remoto. Tu non devono attendere la prossima release di ATS per aggiungere un nuovo pacchetto. Puoi trovare ulteriori informazioni all'indirizzo Esegui test automobilistici in una scatola.