Basierend auf der Fahrzeug-HAL-Eigenschaft VEHICLE_PROPERTY_HW_KEY_INPUT
, die in hardware/libhardware/include/hardware/vehicle.h
definiert ist, verarbeitet Android Automotive wichtige Eingaben von Elementen, zu denen Lenkfernschalter, Hardwaretasten und Touchpanels gehören.
Beispiel: Versand eines Schlüsselereignisses über ein CAN-Bus-Netzwerk:
Abbildung 1. Android Automotive-Schlüsselereignisse über den CANbus-Fluss.
Wichtige Veranstaltungsdaten
Die folgenden Daten werden jedem Schlüsselereignis im Fahrzeug-HAL beigefügt:
- Eingabeaktion (oben/unten):
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- Schlüsselcode, der Android-Schlüsseln in einer Partnerimplementierung des Fahrzeug-HAL zugeordnet ist.
- Zielanzeige (Haupt-/Kombiinstrument):
VEHICLE_DISPLAY_MAIN = 0, VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
Die Tasteneingabeverarbeitung im Kombiinstrument nutzt CarInputService
(der gleiche Dienst wird auch für die reguläre Eingabeverarbeitung im Fahrzeug verwendet). Schlüsselereignisse werden an den InstrumentClusterRenderingService
weitergegeben:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to Presentation? */ } },
Basierend auf der Fahrzeug-HAL-Eigenschaft VEHICLE_PROPERTY_HW_KEY_INPUT
, die in hardware/libhardware/include/hardware/vehicle.h
definiert ist, verarbeitet Android Automotive wichtige Eingaben von Elementen, zu denen Lenkfernschalter, Hardwaretasten und Touchpanels gehören.
Beispiel: Versand eines Schlüsselereignisses über ein CAN-Bus-Netzwerk:
Abbildung 1. Android Automotive-Schlüsselereignisse über den CANbus-Fluss.
Wichtige Veranstaltungsdaten
Die folgenden Daten werden jedem Schlüsselereignis im Fahrzeug-HAL beigefügt:
- Eingabeaktion (oben/unten):
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- Schlüsselcode, der Android-Schlüsseln in einer Partnerimplementierung des Fahrzeug-HAL zugeordnet ist.
- Zielanzeige (Haupt-/Kombiinstrument):
VEHICLE_DISPLAY_MAIN = 0, VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
Die Tasteneingabeverarbeitung im Kombiinstrument nutzt CarInputService
(der gleiche Dienst wird auch für die reguläre Eingabeverarbeitung im Fahrzeug verwendet). Schlüsselereignisse werden an den InstrumentClusterRenderingService
weitergegeben:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to Presentation? */ } }