השתמש ב-VHAL עם הלקוח המקורי

VHAL תומך ב-Java ובלקוחות מקוריים. Car Service הוא לקוח Java היחיד עבור VHAL. עבור אפליקציות רכב בדרך כלל, השתמש בממשקי ה-API של רכב (לדוגמה, CarPropertyManager ) כדי לגשת למאפייני VHAL במקום לתקשר ישירות עם ה-VHAL. למעשה, ה-SELinux חוסם זאת. לפרטים, עיין בתיעוד Car API באינדקס החבילות .

עבור לקוחות מקומיים, החל מ-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