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