স্থানীয় ক্লায়েন্টের সাথে VHAL ব্যবহার করুন

VHAL জাভা এবং নেটিভ ক্লায়েন্টদের সমর্থন করে। গাড়ি পরিষেবা VHAL-এর জন্য একমাত্র জাভা ক্লায়েন্ট। সাধারণত গাড়ির অ্যাপের জন্য, VHAL-এর সাথে সরাসরি যোগাযোগ করার পরিবর্তে VHAL বৈশিষ্ট্যগুলি অ্যাক্সেস করতে Car API ব্যবহার করুন (উদাহরণস্বরূপ, CarPropertyManager )। আসলে, SELinux এটি ব্লক করে। বিস্তারিত জানার জন্য, প্যাকেজ ইনডেক্সে কার API ডকুমেন্টেশন দেখুন।

স্থানীয় ক্লায়েন্টদের জন্য, Android 13 দিয়ে শুরু করে, VHAL-এর সাথে সরাসরি সংযোগ না করে libvhalclient ব্যবহার করুন। এটি একটি ক্লায়েন্ট লাইব্রেরি যা একটি সাধারণ ইন্টারফেস প্রকাশ করে, IVhalClient.h AIDL এবং HIDL 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