VHAL obsługuje klienty w języku Java i klienty natywne. Serwis samochodowy jest jedynym
Klient Java dla VHAL. W przypadku typowych aplikacji samochodowych użyj interfejsów API samochodu (np.
CarPropertyManager
)
w celu uzyskania dostępu do właściwości VHAL zamiast
bezpośredniej komunikacji z
VHAL. SELinux blokuje te funkcje. Szczegółowe informacje znajdziesz w dokumentacji interfejsu Car API na stronie
Indeks pakietu.
W przypadku klientów natywnych, począwszy od Androida 13, użyj interfejsu libvhalclient
zamiast łączyć się bezpośrednio z VHAL. Jest to biblioteka klienta, która udostępnia jeden wspólny interfejs IVhalClient.h
do implementacji AIDL i HIDL VHAL. Następujący przykład pokazuje:
Jak utworzyć klienta natywnego VHAL i użyć go do uzyskania numeru VIN pojazdu:
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