Menggunakan VHAL dengan klien native

VHAL mendukung klien Java dan native. Layanan Mobil adalah satu-satunya Klien Java untuk VHAL. Untuk umumnya aplikasi mobil, gunakan Car API (misalnya, CarPropertyManager) mengakses properti VHAL daripada berkomunikasi secara langsung dengan VHAL. Bahkan, SELinux memblokir ini. Untuk detailnya, lihat dokumentasi Car API di Indeks Paket.

Untuk klien native, mulai dari Android 13, gunakan libvhalclient, bukan secara langsung menghubungkan dengan VHAL. Ini adalah library klien yang mengekspos satu antarmuka umum, IVhalClient.h untuk implementasi AIDL dan HIDL VHAL. Contoh berikut menunjukkan cara membuat klien asli VHAL dan menggunakannya untuk mendapatkan nomor Nomor Identifikasi Kendaraan (VIN):

using ::aidl::android::hardware::automotive::vehicle::VehicleProperty;
using ::android::frameworks::automotive::vhal::IVhalClient;
using ::android::hardware::automotive::vehicle::toInt;
  
auto vhalClient = IVhalClient::tryCreate();
if (vhalClient == nullptr) {
  // handle error.
}
auto result = vhalClient->getValueSync(
    *vhalClient->createHalPropValue(toInt(VehicleProperty::INFO_VIN)));
// Use result