VHAL 支援 Java 與原生用戶端。Car Service 是 VHAL 唯一的 Java 用戶端。如果是一般的車用應用程式,請使用 Car API (例如
CarPropertyManager
)。
存取 VHAL 屬性,而不是直接與
蛋白質。事實上,SELinux 會封鎖這種情況。詳情請參閱 Package Index 中的 Car API 說明文件。
針對原生用戶端,請從 Android 13 開始使用 libvhalclient
,而非直接連線至 VHAL。這是用戶端程式庫,可公開一個通用介面 IVhalClient.h
,供 AIDL 和 HIDL VHAL 實作。以下範例顯示
如何建立 VHAL 原生用戶端,以及如何使用 VHAL 原生用戶端取得車輛識別號碼 (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