VHAL'ı yerel istemciyle kullanma

VHAL, Java ve yerel istemcileri destekler. Yalnızca Otomobil Hizmeti VHAL için Java istemcisi. Genellikle araba uygulamaları için doğrudan VHAL ile iletişim kurmak yerine VHAL özelliklerine erişmek amacıyla Car API'lerini (ör. CarPropertyManager) kullanın. SELinux bunu engeller. Ayrıntılar için Paket Dizini'ndeki Car API belgelerine bakın.

Android 13'ten itibaren yerel istemciler için Doğrudan yerine libvhalclient VHAL'a bağlanılıyor. Bu, AIDL ve HIDL VHAL uygulamaları için IVhalClient.h adlı tek bir ortak arayüz sunan bir istemci kitaplığıdır. Aşağıdaki örnekte, VHAL yerel istemcisinin nasıl oluşturulacağı ve Araç Şase Numarası (VIN) almak için nasıl kullanılacağı gösterilmektedir:

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