Yerel istemciyle VHAL'i kullanın

VHAL, Java'yı ve yerel istemcileri destekler. Car Service, VHAL için tek Java istemcisidir. Tipik araba uygulamaları için, VHAL ile doğrudan iletişim kurmak yerine VHAL özelliklerine erişmek için Araba API'lerini (örneğin, CarPropertyManager ) kullanın. Aslında SELinux bunu engelliyor. Ayrıntılar için Paket Dizinindeki Araç API belgelerine bakın.

Yerel istemciler için, Android 13'ten başlayarak, VHAL ile doğrudan bağlantı kurmak yerine libvhalclient kullanın. Bu, AIDL ve HIDL VHAL uygulamaları için ortak bir arayüz olan IVhalClient.h ortaya çıkaran bir istemci kitaplığıdır. Aşağıdaki örnek, bir VHAL yerel istemcisinin nasıl oluşturulacağını ve bunun bir Araç Kimlik Numarası (VIN) numarası almak için nasıl kullanılacağını gösterir:

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