Automotive Location Bypass API

Fitur ini memungkinkan akses lokasi aplikasi bantuan bagi pengemudi yang diizinkan dan dipaketkan dengan Android untuk dikontrol secara terpisah oleh tombol “Gunakan lokasi untuk bantuan pengemudi”. Hal ini memungkinkan aplikasi tersebut mengakses lokasi meskipun tombol "Gunakan lokasi" dinonaktifkan.

  • Android 12 tidak menyediakan API publik untuk fitur ini. Aplikasi bantuan pengemudi harus meminta pembaruan lokasi seperti biasa.
  • Android 13 dan yang lebih tinggi harus membuat permintaan lokasi untuk menggunakan LocationManager.requestLocationUpdates() dan meneruskan objek LocationRequest yang dikonfigurasi dengan LocationRequest.setAdasGnssBypass(true).

Menggunakan API bypass lokasi bantuan pengemudi

Bagian berikut menjelaskan cara menggunakan API bypass lokasi bantuan pengemudi. Untuk mempelajari kebijakan penggunaan lebih lanjut, lihat Kebijakan Daftar Izin Pengabaian Lokasi.

Memeriksa status tombol bantuan pengemudi

Di Android 13 dan yang lebih baru, Anda dapat memeriksa status tombol bantuan pengemudi sebelum meminta pembaruan lokasi.

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

Menjalankan perintah Android Debug Bridge (ADB)

Untuk pengembangan dan pengujian, Anda dapat dengan cepat memeriksa atau mengubah status tombol bantuan pengemudi tanpa menggunakan Setelan Lokasi.

  1. Untuk menggunakan perintah ADB guna memeriksa atau mengubah status:
    // 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

Setel izin

Lihat informasi berikut untuk rilis Android khusus versi:

  1. Di Android 12, aplikasi bantuan pengemudi harus memiliki izin WRITE_SECURE_SETTINGS.
  2. Di Android 13 dan yang lebih tinggi, izin LOCATION_BYPASS diperlukan.

Menambahkan aplikasi ke daftar yang diizinkan di perangkat

Di direktori etc/sysconfig:

  1. Tambahkan nama paket aplikasi dalam file XML konfigurasi sistem:
  2. <!-- In a xml file under etc/sysconfig>
    <config>
    
    <allow-adas-location-settings package="PACKAGE-NAME" />
    
    </config>

Untuk memastikan paket Anda muncul di UI Setelan Lokasi, tambahkan nama paket ke config_locationDriverAssistancePackageNames.

Tambahkan URL pengungkapan kebijakan privasi aplikasi ke AndroidManifest.xml. Nama metadata harus privacy_policy.

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

Hapus "Gunakan lokasi untuk tombol bantuan bagi pengemudi"

Jika tidak memiliki aplikasi bantuan pengemudi yang didukung lokasi yang meminta lokasi dari Android, Anda dapat mengomentari blok kode untuk menghapus tombol Setelan Lokasi.

  1. Buka packages/apps/Car/Settings/res/xml/location_settings_fragment.xml, lalu hapus komentar kode berikut.
    <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. Setelah menghapus tombol, tetapkan config_defaultAdasGnssLocationEnabled ke false.

Menjalankan Automotive Test Suite

Google menyediakan pengujian Automotive Test Suite (ATS), yang memastikan bahwa semua paket bantuan pengemudi di perangkat telah diizinkan oleh Google. Pengujian dikonfigurasi dari jarak jauh. Anda tidak perlu menunggu hingga rilis ATS berikutnya untuk menambahkan paket baru. Anda dapat mempelajari lebih lanjut di Complete Automotive Tests in a Box.