Berdasarkan properti HAL Kendaraan VEHICLE_PROPERTY_HW_KEY_INPUT
, yang didefinisikan dalam hardware/libhardware/include/hardware/vehicle.h
, Android Automotive menangani masukan utama dari elemen yang mencakup sakelar jarak jauh kemudi, tombol perangkat keras, dan panel sentuh.
Misalnya, pengiriman peristiwa penting melalui jaringan bus CAN:
Gambar 1. Peristiwa penting Android Automotive melalui aliran CANbus.
Data peristiwa penting
Data berikut dilampirkan pada setiap peristiwa penting di HAL Kendaraan:
- Tindakan masukan (atas/bawah):
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- Kode kunci dipetakan ke kunci Android dalam implementasi mitra Kendaraan HAL.
- Tampilan target (kluster instrumen/utama):
VEHICLE_DISPLAY_MAIN = 0, VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
Penanganan input kunci di kluster instrumen menggunakan CarInputService
(layanan yang sama digunakan untuk penanganan input reguler di kendaraan). Peristiwa penting disebarkan ke InstrumentClusterRenderingService
:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to Presentation? */ } },
Berdasarkan properti HAL Kendaraan VEHICLE_PROPERTY_HW_KEY_INPUT
, yang didefinisikan dalam hardware/libhardware/include/hardware/vehicle.h
, Android Automotive menangani masukan utama dari elemen yang mencakup sakelar jarak jauh kemudi, tombol perangkat keras, dan panel sentuh.
Misalnya, pengiriman peristiwa penting melalui jaringan bus CAN:
Gambar 1. Peristiwa penting Android Automotive melalui aliran CANbus.
Data peristiwa penting
Data berikut dilampirkan pada setiap peristiwa penting di HAL Kendaraan:
- Tindakan masukan (atas/bawah):
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- Kode kunci dipetakan ke kunci Android dalam implementasi mitra Kendaraan HAL.
- Tampilan target (kluster instrumen/utama):
VEHICLE_DISPLAY_MAIN = 0, VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
Penanganan input kunci di kluster instrumen menggunakan CarInputService
(layanan yang sama digunakan untuk penanganan input reguler di kendaraan). Peristiwa penting disebarkan ke InstrumentClusterRenderingService
:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to Presentation? */ } }