Yerel istemciyle VHAL kullanma

VHAL, Java ve yerel istemcileri destekler. Yalnızca Otomobil Hizmeti VHAL için Java istemcisi. Tipik araba uygulamalarında Araba API'lerini (örneğin, CarPropertyManager) ile doğrudan iletişim kurmak yerine VHAL özelliklerine erişmek için VHAL. Aslında, SELinux bunu engeller. Ayrıntılı bilgi için şu adresteki Car API dokümanlarına bakın: Paket Dizini.

Android 13'ten itibaren yerel istemciler için Doğrudan yerine libvhalclient VHAL'a bağlanılıyor. Bu, ortak arayüz içeren bir istemci kitaplığıdır. AIDL ve HIDL VHAL uygulamaları için IVhalClient.h. Aşağıdaki örnekte şunlar gösterilmektedir: VHAL yerel istemcisi oluşturma ve bunu Araç Şasi Numarası (VIN) numarası almak için kullanma:

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