2015-04-15 2 views
0

Как я могу получить текущее устройство ввода в своем приложении в java? Я хочу знать, что это пульт или игровой контроллер, который используется.Получить текущий пульт дистанционного управления или игровой контроллер

Это приложение для Android, которое я хочу запустить на Amazon FireTV. В отличие от Amazon Kindle нет сенсорного экрана, но вы можете использовать пульт дистанционного управления или игровой контроллер. Я хотел бы знать, можно ли определить, какое устройство ввода использует пользователь.

Код, который я до сих пор представляет собой стандартный код приложения Кордовы, но когда я знаю, как определить текущее устройство ввода, я бы сделал плагин для передачи значения в код javascript. Это не проблема.

+1

Это может помочь дать дополнительную информацию, например, что касается приложения. Возможно, какой-то код у вас есть до сих пор при любых попытках. – nbz

ответ

1

Как уже упоминалось в комментариях, вы должны указать шаги, которые вы уже сделали, или код, который вы уже написали, для решения этой функции, поскольку это поможет нам настроить наиболее подходящий ответ. Как правило, вы можете посмотреть официальные документы для определения контроллеров на Fire TV. https://developer.amazon.com/public/solutions/devices/fire-tv/docs/identifying-controllers

В принципе, вам нужно написать код идентификации в плагине Кордова следующим образом:

int hasFlags = InputDevice.SOURCE_GAMEPAD | InputDevice.SOURCE_JOYSTICK; 
boolean isGamepad = inputDevice.getSources() & hasFlags == hasFlags; 

Это позволит вам узнать, если это геймпад. Для пожарного пульта код, который нужен:

класса
int hasFlags = InputDevice.SOURCE_DPAD; 
bool isRemote = (inputDevice.getSources() & hasFlags == hasFlags) 
    && inputDevice.getKeyboardType() == InputDevice.KEYBOARD_TYPE_NON_ALPHABETIC; 

InputDevice доступен на сайте Android разработчика: http://developer.android.com/reference/android/view/InputDevice.html Таким образом, вы в основном нужно импортировать, что в вашем классе плагина, чтобы обеспечить приведенный выше код работает отлично ,

import android.view.InputDevice; 
+0

Большое спасибо! Это мне очень поможет! Я выясню детали реализации и опубликую его позже. На данный момент я отвечу вам. –