API Bypass Lokasi Otomotif

Fitur ini memungkinkan akses lokasi aplikasi bantuan pengemudi yang terdaftar dan disertakan dalam Android, dikontrol secara terpisah melalui tombol “Gunakan lokasi untuk bantuan pengemudi”. Hal ini memungkinkan aplikasi tersebut mengakses lokasi meskipun tombol "Gunakan lokasi" dalam keadaan nonaktif.

  • 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) .

Gunakan API bypass lokasi bantuan pengemudi

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

Periksa status sakelar bantuan pengemudi

Di Android 13 dan lebih tinggi, Anda dapat memeriksa status peralihan bantuan pengemudi sebelum meminta pembaruan lokasi.

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

Jalankan perintah Android Debug Bridge (ADB).

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

  1. Untuk menggunakan perintah ADB untuk 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
    

Tetapkan izin

Lihat yang berikut untuk rilis Android khusus versi:

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

Tambahkan aplikasi ke daftar yang diizinkan di perangkat Anda

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 Pengaturan Lokasi, tambahkan nama paket Anda ke config_locationDriverAssistancePackageNames .

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

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

Hapus tombol "Gunakan lokasi untuk bantuan pengemudi"

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

  1. Buka packages/apps/Car/Settings/res/xml/location_settings_fragment.xml lalu beri komentar pada 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 melepas sakelar, setel config_defaultAdasGnssLocationEnabled ke false .

Jalankan rangkaian pengujian Otomotif

Google menyediakan pengujian Automotive test suite (ATS), yang memastikan bahwa semua paket bantuan pengemudi di perangkat telah diizinkan di Google. Tes ini dikonfigurasi dari jarak jauh. Anda tidak perlu menunggu hingga rilis ATS berikutnya untuk menambahkan paket baru. Anda dapat mempelajari lebih lanjut di Tes Otomotif Lengkap dalam Kotak.