استنادًا إلى خاصية HAL للمركبة VEHICLE_PROPERTY_HW_KEY_INPUT
، المحددة في hardware/libhardware/include/hardware/vehicle.h
، يتعامل Android Automotive مع الإدخال الرئيسي من العناصر التي تتضمن مفاتيح التوجيه عن بعد، وأزرار الأجهزة، ولوحات اللمس.
على سبيل المثال، إرسال حدث رئيسي عبر شبكة ناقل CAN:
الشكل 1. الأحداث الرئيسية لـ Android Automotive عبر تدفق CANbus.
بيانات الحدث الرئيسية
يتم إرفاق البيانات التالية بكل حدث رئيسي في 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? */ } },
استنادًا إلى خاصية HAL للمركبة VEHICLE_PROPERTY_HW_KEY_INPUT
، المحددة في hardware/libhardware/include/hardware/vehicle.h
، يتعامل Android Automotive مع الإدخال الرئيسي من العناصر التي تتضمن مفاتيح التوجيه عن بعد، وأزرار الأجهزة، ولوحات اللمس.
على سبيل المثال، إرسال حدث رئيسي عبر شبكة ناقل CAN:
الشكل 1. الأحداث الرئيسية لـ Android Automotive عبر تدفق CANbus.
بيانات الحدث الرئيسية
يتم إرفاق البيانات التالية بكل حدث رئيسي في 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? */ } }