API Bỏ qua vị trí dành cho ô tô

Tính năng này cho phép truy cập vào thông tin vị trí của người lái xe trong danh sách cho phép, theo gói Android các ứng dụng trợ giúp được kiểm soát riêng biệt thông qua tuỳ chọn "Sử dụng thông tin vị trí cho người lái xe Trợ lý". Quyền này cho phép các ứng dụng này truy cập thông tin vị trí ngay cả khi chế độ "Sử dụng thông tin vị trí" đã tắt.

  • Android 12 không cung cấp API công khai cho tính năng này của chúng tôi. Ứ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 truy cập thông tin vị trí để sử dụng LocationManager.requestLocationUpdates() và truyền vào Đối tượng LocationRequest được định cấu hình bằng LocationRequest.setAdasGnssBypass(true).

Dùng API bỏ qua vị trí hỗ trợ người lái xe

Các phần sau mô tả cách sử dụng API bỏ qua vị trí hỗ trợ người lái xe. Để tìm hiểu thông tin 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 quyền truy cập thông tin vị trí.

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

Trên Android 13 trở lên, bạn có thể kiểm tra trạng thái của công tắc chuyển chế độ 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 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 tính năng hỗ trợ người lái xe bật/tắt mà không sử dụng Cài đặt vị trí.

  1. Cách 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 bản phát hành Android theo phiên bản cụ thể:

  1. Trong Android 12, ứng dụng hỗ trợ người lái xe phải có Viết_SECURE_INSTALL quyền.
  2. Trong Android 13 trở lên, Cần 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:

  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 vào config_locationDriverAssistancePackageNames.

Thêm URL công bố 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/>

Xoá nút "Sử dụng vị trí cho công tắc hỗ trợ người lái xe"

Nếu bạn không có ứng dụng hỗ trợ người lái xe dựa trên vị trí yêu cầu thông tin vị trí từ Android, bạn có thể nhận xét trong khối mã để bỏ nút chuyển cho Cài đặt vị trí.

  1. Đang mở cửa packages/apps/Car/Settings/res/xml/location_settings_fragment.xml, sau đó là nhận xét 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 loại bỏ nút chuyển, hãy đặt config_defaultAdasGnssLocationEnabled thành false

Chạy bộ kiểm thử Automotive

Google cung cấp bài kiểm tra bộ kiểm thử Automotive (ATS) để đảm bảo rằng tất cả công cụ hỗ trợ người lái xe các gói trên một thiết bị đã được Google đưa vào danh sách cho phép. Quá trình kiểm tra được định 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 Hoàn tất quy trình kiểm thử Automotive trong Box.