Android Automotive, hardware/libhardware/include/hardware/vehicle.h
içinde tanımlanan VEHICLE_PROPERTY_HW_KEY_INPUT
araç HAL mülküne dayanarak direksiyon uzaktan anahtarları, donanım düğmeleri ve dokunmatik paneller gibi öğelerden gelen tuş girişlerini işler.
Örneğin, bir önemli etkinliğin CAN bus ağı üzerinden gönderilmesi:
Şekil 1. CANbus akışı üzerinden Android Automotive önemli etkinlikleri.
Önemli etkinlik verileri
Araç HAL'indeki her önemli etkinliğe aşağıdaki veriler eklenir:
- Giriş işlemi (yukarı/aşağı):
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- Araç HAL'inin iş ortağı uygulamasında Android anahtarlarıyla eşlenen anahtar kodu.
- Hedef ekran (ana/kontrol paneli):
VEHICLE_DISPLAY_MAIN = 0, VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
Gösterge panelindeki anahtar girişi işleme CarInputService
'ü kullanır (araçtaki normal giriş işleme için kullanılan hizmetle aynıdır). Önemli etkinlikler InstrumentClusterRenderingService
'e dağıtılır:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to Presentation? */ } }