API bỏ qua vị trí ô tô,API bỏ qua vị trí ô tô,API bỏ qua vị trí ô tô,API bỏ qua vị trí ô tô

Tính năng này cho phép kiểm soát riêng quyền truy cập vị trí của các ứng dụng hỗ trợ lái xe, có trong danh sách cho phép, đi kèm Android, bằng nút chuyển “Sử dụng vị trí để hỗ trợ lái xe”. Điều này cho phép các ứng dụng này truy cập 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. Các ứng dụng hỗ trợ người lái xe sẽ yêu cầu cập nhật vị trí như thường lệ.
  • Android 13 trở lên phải đưa ra yêu cầu vị trí để sử dụng LocationManager.requestLocationUpdates() và chuyển vào một đối tượng LocationRequest được định cấu hình bằng LocationRequest.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 xe. Để tìm hiểu thêm về chính sách sử dụng, hãy xem Chính sách danh sách cho phép bỏ qua vị trí .

Kiểm tra trạng thái công tắc hỗ trợ người lái

Trong Android 13 trở lên, bạn có thể kiểm tra trạng thái chuyển đổi hỗ trợ người lái xe 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 các 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 chuyển đổi hỗ trợ người lái xe mà không cần sử dụng Cài đặt vị trí.

  1. Để sử dụng 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
    

Đặt quyền

Xem phần sau để biết các bản phát hành Android dành riêng cho từng phiên bản:

  1. Trong Android 12, các ứng dụng hỗ trợ người lái xe phải có quyền WRITE_SECURE_SETTINGS .
  2. Trong Android 13 trở lên, cần có quyền LOCATION_BYPASS .

Thêm ứng dụng vào danh sách cho phép trên thiết bị của bạn

Trong thư mục etc/sysconfig :

  1. Thêm tên gói của ứng dụng vào tệp XML cấu hình hệ thống:
  2. <!-- 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 của bạn vào config_locationDriverAssistancePackageNames .

Thêm URL tiết lộ chính sách quyền riêng tư của ứng dụng vào AndroidManifest.xml . Tên của siêu dữ liệu phải là privacy_policy .

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

Xóa nút "Sử dụng vị trí cho nút hỗ trợ người lái"

Nếu bạn không có ứng dụng hỗ trợ trình điều khiển hỗ trợ vị trí yêu cầu vị trí từ Android, bạn có thể nhận xét khối mã để xóa nút chuyển cho Cài đặt vị trí.

  1. Mở packages/apps/Car/Settings/res/xml/location_settings_fragment.xml rồi nhận xét đoạn 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/>
    
  2. Sau khi xóa công tắc, hãy đặt config_defaultAdasGnssLocationEnabled thành false .

Chạy bộ thử nghiệm Ô tô

Google cung cấp công cụ kiểm tra Automotive test suite (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 đưa vào danh sách cho phép của Google. Bài kiểm tra được cấu hình từ xa. Bạn không cần đợ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 Bài kiểm tra ô tô hoàn chỉnh trong hộp.