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żywaj
libvhalclient
zamiast bezpośrednio
przez połączenie z VHAL. To biblioteka kliencka, która ujawnia jeden wspólny interfejs:
IVhalClient.h
na potrzeby 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