按鍵輸入

根據車輛 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? */ }
}