Gunakan VHAL dengan klien asli

VHAL mendukung klien Java dan asli. Layanan Mobil adalah satu-satunya klien Java untuk VHAL. Untuk aplikasi mobil pada umumnya, gunakan Car API (misalnya, CarPropertyManager ) untuk mengakses properti VHAL alih-alih berkomunikasi langsung dengan VHAL. Faktanya, SELinux memblokir ini. Untuk detailnya, lihat dokumentasi Car API di Package Index .

Untuk klien asli, mulai Android 13, gunakan libvhalclient alih-alih terhubung langsung dengan VHAL. Ini adalah perpustakaan klien yang memperlihatkan 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