ตามคุณสมบัติ Vehicle HAL VEHICLE_PROPERTY_HW_KEY_INPUT
ซึ่งกำหนดไว้ใน hardware/libhardware/include/hardware/vehicle.h
Android Automotive จะจัดการอินพุตคีย์จากองค์ประกอบต่างๆ รวมถึงสวิตช์รีโมทที่พวงมาลัย ปุ่มฮาร์ดแวร์ และแผงสัมผัส
ตัวอย่างเช่น การส่งเหตุการณ์สำคัญผ่านเครือข่าย CAN บัส:
รูปที่ 1 เหตุการณ์สำคัญของ Android Automotive ผ่าน CANbus flow
ข้อมูลเหตุการณ์สำคัญ
ข้อมูลต่อไปนี้แนบมากับเหตุการณ์สำคัญแต่ละเหตุการณ์ใน Vehicle HAL:
- การดำเนินการอินพุต (ขึ้น/ลง):
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- รหัสคีย์ที่แมปกับคีย์ Android ในการใช้งาน Vehicle HAL ของพันธมิตร
- การแสดงเป้าหมาย (คลัสเตอร์หลัก/แผงหน้าปัด):
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? */ } }