Sử dụng VHAL với máy khách gốc

VHAL hỗ trợ Java và các máy khách gốc. Dịch vụ ô tô là ứng dụng khách Java duy nhất cho VHAL. Đối với các ứng dụng ô tô thông thường, hãy sử dụng API ô tô (ví dụ: CarPropertyManager ) để truy cập các thuộc tính VHAL thay vì giao tiếp trực tiếp với VHAL. Trên thực tế, SELinux chặn điều này. Để biết chi tiết, hãy xem tài liệu Car API tại Package Index .

Đối với máy khách gốc, bắt đầu từ Android 13, hãy sử dụng libvhalclient thay vì kết nối trực tiếp với VHAL. Đây là thư viện máy khách hiển thị một giao diện chung, IVhalClient.h để triển khai AIDL và HIDL VHAL. Ví dụ sau đây cho thấy cách tạo ứng dụng khách gốc VHAL và sử dụng nó để lấy số Số nhận dạng phương tiện (VIN):

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