Questa funzione consente di controllare separatamente l'accesso alla posizione delle app di assistenza alla guida incluse nella lista consentita e in bundle con Android tramite l'interruttore "Utilizza posizione per l'assistenza alla guida". Ciò consente a queste app di 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 gli aggiornamenti della posizione come al solito.
- Android 13 e versioni successive devono effettuare una richiesta di posizione per utilizzare
LocationManager.requestLocationUpdates()
e passare un oggettoLocationRequest
configurato conLocationRequest.setAdasGnssBypass(true)
.
Utilizza l'API di bypass della posizione di assistenza al conducente
Le sezioni seguenti descrivono come utilizzare l'API di bypass della posizione di assistenza al conducente. Per ulteriori informazioni sulla politica di utilizzo, consulta Politica della lista consentita per l'esclusione della posizione .
Controllare lo stato dell'interruttore di assistenza alla guida
In Android 13 e versioni successive, puoi controllare lo stato del cambio dell'assistenza alla guida prima di richiedere aggiornamenti sulla posizione.
// Returns the current status of "Use location for driver assistance". locationManager.isAdasGnssLocationEnabled();
Esegui i comandi Android Debug Bridge (ADB).
Per lo sviluppo e il test, puoi controllare o modificare rapidamente lo stato dell'attivazione/disattivazione dell'assistenza alla guida senza utilizzare le Impostazioni di posizione.
- Per utilizzare i comandi ADB per verificare 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 l'autorizzazione
Consulta quanto segue per le versioni Android specifiche della versione:
- In Android 12, le app di assistenza alla guida devono disporre dell'autorizzazione WRITE_SECURE_SETTINGS .
- In Android 13 e versioni successive è richiesta l'autorizzazione
LOCATION_BYPASS
.
Aggiungi un'app alla lista consentita sul tuo dispositivo
Nella directory etc/sysconfig
:
- Aggiungi il nome del pacchetto dell'app in un file XML di configurazione del sistema:
<!-- In a xml file under etc/sysconfig–> <config> … <allow-adas-location-settings package="PACKAGE-NAME" /> … </config>
Per assicurarti che il tuo pacchetto venga visualizzato nell'interfaccia utente delle impostazioni di posizione, aggiungi il nome del pacchetto a config_locationDriverAssistancePackageNames
.
Aggiungi l'URL dell'app con l'informativa sulla privacy ad AndroidManifest.xml
. Il nome dei metadati dovrebbe essere privacy_policy
.
<meta-data android:name="privacy_policy" android:value= privacy policy URL/>
Rimuovere l'opzione "Utilizza posizione per l'interruttore di assistenza alla guida"
Se non disponi di un'app di assistenza alla guida basata sulla posizione che richiede la posizione da Android, puoi commentare il blocco di codice per rimuovere l'interruttore per le Impostazioni di posizione.
- Apri
packages/apps/Car/Settings/res/xml/location_settings_fragment.xml
e quindi 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 automobilistici
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 da Google. Il test è configurato da remoto. Non è necessario attendere fino al prossimo rilascio di ATS per aggiungere un nuovo pacchetto. Puoi saperne di più su Test automobilistici completi in una scatola.