Driver Assistance Location Bypass API

이 기능을 사용하면 허용 목록에 포함된 Android 번들 운전자 지원 앱의 위치 액세스를 허용하여 '운전자 지원에 위치 사용' 스위치를 통해 별도로 제어할 수 있습니다. 이렇게 하면 '위치 사용' 스위치가 꺼져 있어도 이러한 앱이 위치에 액세스할 수 있습니다.

  • Android 12는 이 기능에 대한 공개 API를 제공하지 않습니다. 운전자 지원 앱은 평소와 같이 위치 업데이트를 요청해야 합니다.
  • Android 13 이상에서는 LocationManager.requestLocationUpdates()를 사용하고 LocationRequest.setAdasGnssBypass(true)로 구성된 LocationRequest 객체를 전달하도록 위치 요청을 해야 합니다.

Driver Assistance Location Bypass API 사용

다음 섹션에서는 Driver Assistance Location Bypass API를 사용하는 방법을 설명합니다. 사용 정책에 관한 자세한 내용은 위치 우회 허용 정책을 참고하세요.

운전자 지원 스위치 상태 확인

Android 13 이상에서는 위치 업데이트를 요청하기 전에 운전자 지원 전환 상태를 확인할 수 있습니다.

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

Android 디버그 브리지(ADB) 명령어 실행

개발 및 테스트가 목적인 경우 위치 설정을 사용하지 않고 운전자 지원 전환 상태를 빠르게 확인하거나 변경할 수 있습니다.

  1. ADB 명령어를 사용하여 상태를 확인하거나 변경하려면 다음 명령어를 사용하세요.
    // 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

권한 설정

버전별 Android 출시는 다음을 참고하세요.

  1. Android 12에서 운전자 지원 앱에는 WRITE_SECURE_SETTINGS 권한이 있어야 합니다.
  2. Android 13 이상에서는 LOCATION_BYPASS 권한이 필요합니다.

기기의 허용 목록에 앱 추가

etc/sysconfig 디렉터리에서:

  1. 시스템 구성 XML 파일에 앱의 패키지 이름을 추가합니다.
  2. <!-- In a xml file under etc/sysconfig>
    <config>
    
    <allow-adas-location-settings package="PACKAGE-NAME" />
    
    </config>

위치 설정 UI에 패키지가 표시되도록 하려면 패키지 이름을 config_locationDriverAssistancePackageNames에 추가합니다.

앱의 개인정보처리방침 공개 URL을 AndroidManifest.xml에 추가합니다. 메타데이터의 이름은 privacy_policy여야 합니다.

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

'운전자 지원에 위치 사용 스위치' 삭제

Android에서 위치를 요청하는 위치 기반 운전자 지원 앱이 없는 경우 코드 블록을 주석 처리하여 위치 설정 스위치를 삭제할 수 있습니다.

  1. packages/apps/Car/Settings/res/xml/location_settings_fragment.xml을 열고 다음 코드를 주석 처리합니다.
    <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. 스위치를 삭제한 후 config_defaultAdasGnssLocationEnabledfalse로 설정합니다.

Automotive 테스트 도구 모음 실행

Google에서는 기기의 모든 운전자 지원 패키지가 Google의 허용 목록에 추가되었는지 확인할 수 있도록 Automotive 테스트 도구 모음(ATS) 테스트를 제공합니다. 테스트는 원격으로 구성됩니다. 다음 ATS 버전이 출시될 때까지 기다렸다가 새 패키지를 추가할 필요가 없습니다. 자세한 내용은 Complete Automotive Tests in a Box를 참고하세요.