根據車輛 HAL 屬性 VEHICLE_PROPERTY_HW_KEY_INPUT
(定義於
hardware/libhardware/include/hardware/vehicle.h
,Android Automotive 會處理按鍵輸入
例如轉向遠端開關、硬體按鈕和觸控面板
舉例來說,如要透過 CAN 公車網路分派按鍵事件,請按照下列步驟操作:
圖 1. 在 CANbus 流程期間的 Android Automotive 重要事件。
重要事件資料
下列資料會附加至車輛 HAL 中的每個重要事件:
- 輸入動作 (向上/向下):
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- 在車輛 HAL 合作夥伴實作中,對應至 Android 金鑰的按鍵碼。
- 目標螢幕 (主要/儀表板):
VEHICLE_DISPLAY_MAIN = 0, VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
儀表板中的金鑰輸入處理會使用 CarInputService
(
服務用於車輛的一般輸入處理)。重要事件會傳播至
InstrumentClusterRenderingService
:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to Presentation? */ } }