Na podstawie właściwości interfejsu HAL pojazdu VEHICLE_PROPERTY_HW_KEY_INPUT
zdefiniowanej w pliku hardware/libhardware/include/hardware/vehicle.h
system Android Automotive obsługuje wprowadzanie danych za pomocą elementów, takich jak przełączniki kierownicy, przyciski sprzętowe i panele dotykowe.
Na przykład wysyłanie kluczowego zdarzenia przez sieć CAN-bus:
Rysunek 1. Zdarzenia kluczowe Androida Automotive w ramach przepływu danych CANbus.
Dane kluczowych zdarzeń
Do każdego kluczowego zdarzenia w interfejsie HAL pojazdu dołączane są te dane:
- Działanie wprowadzania (w górę/w dół):
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- Kod klucza zmapowany na klucze Androida w implementacji interfejsu Vehicle HAL przez partnera.
- Wyświetlacz docelowy (główny lub panel instrumentów):
VEHICLE_DISPLAY_MAIN = 0, VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
Obsługa danych wejściowych klucza w tablicy rozdzielczej korzysta z funkcji CarInputService
(ta sama usługa obsługuje regularne dane wejściowe w samochodzie). Kluczowe zdarzenia są propagowane do:
InstrumentClusterRenderingService
:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to Presentation? */ } }