API de desvio de localização automotiva, API de desvio de localização automotiva

Esse recurso permite que o acesso à localização de aplicativos ADAS integrados do Android permitidos seja controlado separadamente pela chave Recursos que ajudam você a conduzir , que permite que esses aplicativos acessem a localização mesmo quando a opção Usar localização está desativada.

Use a API de desvio de localização automotiva

O Android 12 não fornece nenhuma nova API pública para esse recurso. Os aplicativos ADAS devem solicitar atualizações de localização como de costume.

Para usar o recurso no Android 13 e superior, faça uma solicitação de localização usando LocationManager.requestLocationUpdates() e transmita um objeto LocationRequest que foi configurado com LocationRequest.setAdasGnssBypass(true) .

Verifique o status do interruptor

No Android 13 e superior, você pode verificar os recursos que ajudam a conduzir o status da troca antes de solicitar atualizações de localização.

// Returns the current status of “Features that help you drive”.
locationManager.isAdasGnssLocationEnabled();

comandos adb

Para fins de desenvolvimento e teste, você pode verificar ou alterar rapidamente os recursos que o ajudam a dirigir sem acessar as configurações de localização.

Para obter o status do switch ADAS:

adb shell cmd location is-adas-gnss-location-enabled

Para ligar o interruptor:

adb shell cmd location set-adas-gnss-location-enabled true

Para desligar o interruptor:

adb shell cmd location set-adas-gnss-location-enabled false

Permissão

No pacote do Android 12, os aplicativos ADAS devem ter a permissão WRITE_SECURE_SETTINGS . No Android 13 e superior, a permissão LOCATION_BYPASS é necessária.

Adicionar aplicativo à lista de permissões em seu dispositivo

Adicione o nome do pacote do aplicativo em um arquivo XML de configuração do sistema no diretório etc/sysconfig :

<config>
…
<allow-adas-location-settings package="PACKAGE-NAME" />
…
</config>

Adicione o URL de divulgação da política de privacidade do aplicativo em AndroidManifest.xml . O nome dos metadados deve ser privacy_policy .

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

Definir o estado padrão do switch

O AAOS define o interruptor de localização do ADAS por padrão e o torna ajustável pelo usuário. Os OEMs podem configurar ambos os estados.

Para definir a opção por padrão, sobreponha config_defaultAdasGnssLocationEnabled e, em seguida, substitua e defina-o como true .

Para definir o switch como não ajustável pelo usuário, sobreponha config_allow_adas_location_switch_clickable , definindo o valor como false .

política de uso

Para saber mais, consulte Política de lista de permissões de desvio de localização automotiva .

teste ATS

Para parceiros GAS, o Google oferece um teste ATS, que garante que todos os pacotes ADAS que utilizam a API de desvio no dispositivo tenham sido autorizados pelo Google. O teste é configurado remotamente. Os parceiros não precisam esperar até o próximo lançamento do ATS para adicionar um novo pacote.

,

Esse recurso permite que o acesso à localização de aplicativos ADAS integrados do Android permitidos seja controlado separadamente pela chave Recursos que ajudam você a conduzir , que permite que esses aplicativos acessem a localização mesmo quando a opção Usar localização está desativada.

Use a API de desvio de localização automotiva

O Android 12 não fornece nenhuma nova API pública para esse recurso. Os aplicativos ADAS devem solicitar atualizações de localização como de costume.

Para usar o recurso no Android 13 e superior, faça uma solicitação de localização usando LocationManager.requestLocationUpdates() e transmita um objeto LocationRequest que foi configurado com LocationRequest.setAdasGnssBypass(true) .

Verifique o status do interruptor

No Android 13 e superior, você pode verificar os recursos que ajudam a conduzir o status da troca antes de solicitar atualizações de localização.

// Returns the current status of “Features that help you drive”.
locationManager.isAdasGnssLocationEnabled();

comandos adb

Para fins de desenvolvimento e teste, você pode verificar ou alterar rapidamente os recursos que o ajudam a dirigir sem acessar as configurações de localização.

Para obter o status do switch ADAS:

adb shell cmd location is-adas-gnss-location-enabled

Para ligar o interruptor:

adb shell cmd location set-adas-gnss-location-enabled true

Para desligar o interruptor:

adb shell cmd location set-adas-gnss-location-enabled false

Permissão

No pacote do Android 12, os aplicativos ADAS devem ter a permissão WRITE_SECURE_SETTINGS . No Android 13 e superior, a permissão LOCATION_BYPASS é necessária.

Adicionar aplicativo à lista de permissões em seu dispositivo

Adicione o nome do pacote do aplicativo em um arquivo XML de configuração do sistema no diretório etc/sysconfig :

<config>
…
<allow-adas-location-settings package="PACKAGE-NAME" />
…
</config>

Adicione o URL de divulgação da política de privacidade do aplicativo em AndroidManifest.xml . O nome dos metadados deve ser privacy_policy .

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

Definir o estado padrão do switch

O AAOS define o interruptor de localização do ADAS por padrão e o torna ajustável pelo usuário. Os OEMs podem configurar ambos os estados.

Para definir a opção por padrão, sobreponha config_defaultAdasGnssLocationEnabled e, em seguida, substitua e defina-o como true .

Para definir o switch como não ajustável pelo usuário, sobreponha config_allow_adas_location_switch_clickable , definindo o valor como false .

política de uso

Para saber mais, consulte Política de lista de permissões de desvio de localização automotiva .

teste ATS

Para parceiros GAS, o Google oferece um teste ATS, que garante que todos os pacotes ADAS que utilizam a API de desvio no dispositivo tenham sido autorizados pelo Google. O teste é configurado remotamente. Os parceiros não precisam esperar até o próximo lançamento do ATS para adicionar um novo pacote.