此功能允許透過「使用位置進行駕駛員輔助」開關單獨控制列入許可名單的、Android 捆綁的駕駛員輔助應用程式的位置存取。即使“使用位置”開關關閉,這些應用程式也可以存取位置。
- Android 12 不提供此功能的公共 API。駕駛員輔助應用程式應照常請求位置更新。
- Android 13 及更高版本必須發出位置請求才能使用
LocationManager.requestLocationUpdates()
並傳入使用LocationRequest.setAdasGnssBypass(true)
配置的LocationRequest
物件。
使用駕駛員輔助位置旁路 API
以下部分介紹如何使用駕駛輔助位置旁通 API。要了解有關使用策略的更多信息,請參閱位置繞過白名單策略。
檢查駕駛員輔助開關狀態
在 Android 13 及更高版本中,您可以在請求位置更新之前檢查駕駛員輔助開關狀態。
// Returns the current status of "Use location for driver assistance". locationManager.isAdasGnssLocationEnabled();
運行 Android 調試橋 (ADB) 命令
對於開發和測試,您可以快速檢查或更改駕駛員輔助開關的狀態,而無需使用位置設定。
- 使用 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 版本:
- 在 Android 12 中,駕駛輔助應用程式必須具有WRITE_SECURE_SETTINGS權限。
- 在 Android 13 及更高版本中,需要
LOCATION_BYPASS
權限。
將應用程式新增至您裝置上的允許清單中
在etc/sysconfig
目錄中:
- 在系統配置 XML 檔案中新增應用程式的套件名稱:
<!-- 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 請求位置的基於位置的駕駛員輔助應用程序,您可以註解掉程式碼區塊以刪除位置設定的開關。
- 開啟
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/>
- 刪除開關後,將
config_defaultAdasGnssLocationEnabled
設定為false
。
運行汽車測試套件
Google 提供了汽車測試套件 (ATS) 測試,可確保設備上的所有駕駛輔助套件都已列入 Google 授權名單。測試是遠端配置的。您無需等到下一個 ATS 版本才新增軟體包。您可以在“完整的汽車測試盒”中了解更多。