Questa funzionalità consente di controllare separatamente l'accesso alla posizione delle app di assistenza alla guida incluse nella lista consentita e fornite in dotazione con Android tramite l'opzione "Usa la posizione per l'assistenza alla guida". In questo modo, queste app possono accedere alla posizione anche quando l'opzione "Usa posizione" è disattivata.
- Android 12 non fornisce un'API pubblica per questa funzionalità. Le app di assistenza alla guida dovrebbero richiedere aggiornamenti della posizione come di consueto.
- Android 13 e versioni successive devono effettuare una richiesta di accesso alla posizione per utilizzare
LocationManager.requestLocationUpdates()
e passare un oggettoLocationRequest
configurato conLocationRequest.setAdasGnssBypass(true)
.
Utilizzare l'API di aggiramento della posizione di assistenza alla guida
Le sezioni seguenti descrivono come utilizzare l'API di bypass della posizione di assistenza alla guida. Per scoprire di più sulle norme di utilizzo, consulta le norme relative alla lista consentita per l'aggiramento della posizione.
Controllare lo stato dell'interruttore di assistenza alla guida
In Android 13 e versioni successive, puoi controllare lo stato dell'opzione di assistenza alla guida prima di richiedere aggiornamenti della posizione.
// 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'opzione di assistenza alla guida senza utilizzare le Impostazioni di geolocalizzazione.
- 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
Per le release di Android specifiche della versione, consulta quanto segue:
- In Android 12, le app di assistenza alla guida devono disporre dell'autorizzazione WRITE_SECURE_SETTINGS.
- In Android 13 e versioni successive, è obbligatoria l'autorizzazione
LOCATION_BYPASS
.
Aggiungere un'app alla lista consentita sul dispositivo
Nella directory etc/sysconfig
:
- Aggiungi il nome del pacchetto dell'app in un file XML di configurazione di sistema:
<!-- 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 l'URL dell'informativa per le norme sulla privacy dell'app a AndroidManifest.xml
. Il nome
degli elementi 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 da Android, puoi commentare il blocco di codice per rimuovere l'opzione per le impostazioni di geolocalizzazione.
- Apri
packages/apps/Car/Settings/res/xml/location_settings_fragment.xml
e 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/>
- Dopo aver rimosso l'opzione, imposta
config_defaultAdasGnssLocationEnabled
sufalse
.
Esegui la suite di test Automotive
Google fornisce un test Automotive Test Suite (ATS), che garantisce che tutti i pacchetti di assistenza alla guida su un dispositivo siano stati inseriti nella lista consentita di Google. Il test viene configurato da remoto. Non è necessario attendere la prossima release di ATS per aggiungere un nuovo pacchetto. Scopri di più su Complete Automotive Tests in a Box.