VHAL รองรับไคลเอ็นต์ Java และไคลเอ็นต์เนทีฟ Car Service เป็นไคลเอ็นต์ Java เพียงรายการเดียวสําหรับ VHAL สําหรับแอปรถยนต์ทั่วไป ให้ใช้ Car APIs (เช่น CarPropertyManager
) เพื่อเข้าถึงพร็อพเพอร์ตี้ VHAL แทนการติดต่อ VHAL โดยตรง จริงๆ แล้ว SELinux จะบล็อกการดำเนินการนี้ โปรดดูรายละเอียดในเอกสารประกอบของ Car API ที่ดัชนีแพ็กเกจ
สำหรับไคลเอ็นต์เนทีฟใน Android 13 เป็นต้นไป ให้ใช้ libvhalclient
แทนการเชื่อมต่อกับ VHAL โดยตรง ไลบรารีไคลเอ็นต์นี้จะแสดงอินเทอร์เฟซทั่วไป 1 รายการ IVhalClient.h
สำหรับการใช้งาน VHAL ของ AIDL และ HIDL ตัวอย่างต่อไปนี้แสดงวิธีสร้างไคลเอ็นต์ VHAL เดิมและใช้เพื่อรับหมายเลขระบุยานพาหนะ (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