بر اساس ویژگی Vehicle HAL VEHICLE_PROPERTY_HW_KEY_INPUT
، تعریف شده در hardware/libhardware/include/hardware/vehicle.h
، Android Automotive ورودی های کلیدی را از عناصری که شامل سوئیچ های راه دور فرمان، دکمه های سخت افزاری و پانل های لمسی هستند کنترل می کند.
به عنوان مثال، ارسال یک رویداد کلیدی از طریق یک شبکه اتوبوس CAN:
شکل 1. رویدادهای کلیدی Android Automotive در جریان CANbus.
داده های رویداد کلیدی
داده های زیر به هر رویداد کلیدی در Vehicle HAL پیوست می شود:
- عملکرد ورودی (بالا/پایین):
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- کد کلید در اجرای شریک Vehicle 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? */ } }