Automotive Location Bypass API

這項功能允許存取已加入許可清單、Android 套裝組合和驅動程式的位置資訊 根據「將位置資訊用於駕駛的身分」部分,個別控制協助應用程式 輔助」切換鈕。這麼做可讓這些應用程式存取位置資訊 (即使「使用位置資訊」) 開關。

  • Android 12 沒有為此提供公用 API 而不是每個特徵的分數駕駛輔助應用程式應照常要求位置更新通知。
  • Android 13 以上版本必須提出位置資訊要求 使用 LocationManager.requestLocationUpdates() 並傳入 LocationRequest物件已設定 LocationRequest.setAdasGnssBypass(true)

使用駕駛輔助位置略過 API

以下各節說明如何使用駕駛輔助位置略過 API。學習 如要進一步瞭解使用政策,請參閱 位置略過許可清單政策

確認駕駛輔助切換鈕的狀態

在 Android 13 以上版本中,你可以查看駕駛輔助功能切換鈕狀態 再要求位置更新通知。

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

執行 Android Debug Bridge (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

將應用程式的隱私權政策揭露網址加入 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_defaultAdasGnssLocationEnabled 設為 false

執行 Automotive 測試套件

Google 提供 Automotive 測試套件 (ATS) 測試,確保所有駕駛人都能提供協助 裝置上的套件已列入 Google 的許可清單。這項測試是從遠端設定。個人中心 不必等到下次 ATS 版本發布再新增套件。詳情請參閱 在 Box 中完成 Automotive 測試。