將 VHAL 與原生用戶端搭配使用

VHAL 支援 Java 與原生用戶端。只有開車 VHAL 的 Java 用戶端。如果是一般的車用應用程式,請使用 Car API (例如 CarPropertyManager)。 存取 VHAL 屬性,而不是直接與 蛋白質。事實上,SELinux 會封鎖這種情況。詳情請參閱 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