VHAL รองรับไคลเอ็นต์ Java และไคลเอ็นต์เนทีฟ Car Service เป็นไคลเอ็นต์ Java เพียงรายการเดียวสําหรับ VHAL สำหรับแอปรถยนต์โดยทั่วไป ให้ใช้ Car API (เช่น
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