Tính năng này cho phép kiểm soát riêng quyền truy cập thông tin vị trí của các ứng dụng hỗ trợ người lái xe được đưa vào danh sách cho phép, đi kèm với Android bằng nút chuyển "Sử dụng thông tin vị trí cho tính năng hỗ trợ người lái xe". Điều này cho phép các ứng dụng này truy cập thông tin vị trí ngay cả khi nút chuyển "Sử dụng vị trí" tắt.
- Android 12 không cung cấp API công khai cho tính năng này. Ứng dụng hỗ trợ người lái phải yêu cầu thông tin cập nhật về vị trí như bình thường.
- Android 13 trở lên phải tạo một yêu cầu vị trí để sử dụng
LocationManager.requestLocationUpdates()
và truyền vào một đối tượngLocationRequest
được định cấu hình bằngLocationRequest.setAdasGnssBypass(true)
.
Sử dụng API bỏ qua vị trí hỗ trợ người lái xe
Các phần sau đây mô tả cách sử dụng API bỏ qua vị trí hỗ trợ người lái. Để tìm hiểu thêm về chính sách sử dụng, hãy xem Chính sách về danh sách cho phép bỏ qua thông tin vị trí.
Kiểm tra trạng thái của nút chuyển hỗ trợ người lái
Trên Android 13 trở lên, bạn có thể kiểm tra trạng thái của nút chuyển hỗ trợ người lái trước khi yêu cầu cập nhật vị trí.
// Returns the current status of "Use location for driver assistance". locationManager.isAdasGnssLocationEnabled();
Chạy lệnh Cầu gỡ lỗi Android (ADB)
Để phát triển và thử nghiệm, bạn có thể nhanh chóng kiểm tra hoặc thay đổi trạng thái của nút bật/tắt tính năng hỗ trợ người lái mà không cần sử dụng phần Cài đặt vị trí.
- Cách sử dụng các lệnh ADB để kiểm tra hoặc thay đổi trạng thái:
// 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
Thiết lập quyền
Hãy xem phần sau đây để biết các bản phát hành Android theo phiên bản:
- Trong Android 12, các ứng dụng hỗ trợ người lái xe phải có quyền WRITE_SECURE_SETTINGS.
- Trên Android 13 trở lên, bạn bắt buộc phải có quyền
LOCATION_BYPASS
.
Thêm một ứng dụng vào danh sách cho phép trên thiết bị
Trong thư mục etc/sysconfig
:
- Thêm tên gói của ứng dụng vào tệp XML cấu hình hệ thống:
<!-- In a xml file under etc/sysconfig–> <config> … <allow-adas-location-settings package="PACKAGE-NAME" /> … </config>
Để đảm bảo gói của bạn xuất hiện trong giao diện người dùng Cài đặt vị trí, hãy thêm tên gói vào config_locationDriverAssistancePackageNames
.
Thêm URL của nội dung công bố chính sách quyền riêng tư của ứng dụng vào AndroidManifest.xml
. Tên siêu dữ liệu phải là privacy_policy
.
<meta-data android:name="privacy_policy" android:value= privacy policy URL/>
Xoá nút "Sử dụng vị trí để hỗ trợ người lái xe"
Nếu không có ứng dụng hỗ trợ người lái xe dựa trên vị trí yêu cầu vị trí từ Android, bạn có thể chú thích khối mã để xoá nút chuyển cho phần Cài đặt vị trí.
- Mở
packages/apps/Car/Settings/res/xml/location_settings_fragment.xml
rồi chú thích mã sau.<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/>
- Sau khi xoá nút chuyển, hãy đặt
config_defaultAdasGnssLocationEnabled
thànhfalse
.
Chạy bộ kiểm thử Automotive
Google cung cấp một bộ kiểm thử Ô tô (ATS) để đảm bảo rằng tất cả các gói hỗ trợ người lái xe trên một thiết bị đều đã được Google đưa vào danh sách cho phép. Thử nghiệm được định cấu hình từ xa. Bạn không cần phải đợi đến bản phát hành ATS tiếp theo để thêm gói mới. Bạn có thể tìm hiểu thêm tại Complete Automotive Tests in a Box (Kiểm thử hoàn chỉnh cho ngành ô tô trong một hộp).