नेटिव क्लाइंट के साथ VHAL का इस्तेमाल करें

VHAL, Java और नेटिव क्लाइंट के साथ काम करता है. सिर्फ़ कार सेवा VHAL के लिए Java क्लाइंट. आम तौर पर, कार ऐप्लिकेशन के लिए, कार के एपीआई का इस्तेमाल करें. उदाहरण के लिए, CarPropertyManager) से सीधे संपर्क करने के बजाय, VHAL प्रॉपर्टी ऐक्सेस करना द वीएचएएल. असल में, SELinux इसे ब्लॉक कर देता है. ज़्यादा जानकारी के लिए, इस पर Car API दस्तावेज़ देखें पैकेज इंडेक्स.

नेटिव क्लाइंट के लिए, Android 13 और उसके बाद के वर्शन में, सीधे जवाब देने के बजाय libvhalclient VHAL से कनेक्ट किया जा रहा है. यह एक क्लाइंट लाइब्रेरी है, जो एक सामान्य इंटरफ़ेस दिखाती है, AIDL और HIDL VHAL को लागू करने के लिए IVhalClient.h. यह उदाहरण दिखाता है VHAL नेटिव क्लाइंट बनाने और व्हीकल आइडेंटिफ़िकेशन नंबर (वीआईएन) नंबर पाने के लिए, इसका इस्तेमाल करने का तरीका:

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