获取当前遥控器或游戏控制器
Get current remote or game controller
如何在 java 的应用程序中获取当前输入设备?我想知道正在使用的是遥控器还是游戏手柄。
这是一个 android 应用程序,我想 运行 在 Amazon FireTV 上。与亚马逊 Kindle 不同,它没有触摸屏,但您可以使用遥控器或游戏控制器。我想知道是否可以检测用户当前使用的是哪种输入设备。
我现在拥有的代码是标准的 Cordova 应用程序代码,但是当我知道如何检测当前输入设备时,我会制作一个插件来将值传递给 java 脚本代码。那不是问题。
如评论中所述,您应该提供已采取的步骤或已编写的代码来解决此功能,因为这将帮助我们调整最合适的答案。
作为一般规则,您可以查看官方文档来识别 Fire TV 上的控制器。
https://developer.amazon.com/public/solutions/devices/fire-tv/docs/identifying-controllers
基本上,你需要在你的Cordova插件中编写识别代码如下:
int hasFlags = InputDevice.SOURCE_GAMEPAD | InputDevice.SOURCE_JOYSTICK;
boolean isGamepad = inputDevice.getSources() & hasFlags == hasFlags;
这样您就可以确定它是否是游戏手柄。对于 Fire TV 遥控器,您需要的代码是:
int hasFlags = InputDevice.SOURCE_DPAD;
bool isRemote = (inputDevice.getSources() & hasFlags == hasFlags)
&& inputDevice.getKeyboardType() == InputDevice.KEYBOARD_TYPE_NON_ALPHABETIC;
InputDevice class 在 Android 开发者网站上可用:
http://developer.android.com/reference/android/view/InputDevice.html
所以你基本上需要在你的插件中导入它 class 以确保上面的代码工作正常。
import android.view.InputDevice;
如何在 java 的应用程序中获取当前输入设备?我想知道正在使用的是遥控器还是游戏手柄。
这是一个 android 应用程序,我想 运行 在 Amazon FireTV 上。与亚马逊 Kindle 不同,它没有触摸屏,但您可以使用遥控器或游戏控制器。我想知道是否可以检测用户当前使用的是哪种输入设备。
我现在拥有的代码是标准的 Cordova 应用程序代码,但是当我知道如何检测当前输入设备时,我会制作一个插件来将值传递给 java 脚本代码。那不是问题。
如评论中所述,您应该提供已采取的步骤或已编写的代码来解决此功能,因为这将帮助我们调整最合适的答案。 作为一般规则,您可以查看官方文档来识别 Fire TV 上的控制器。 https://developer.amazon.com/public/solutions/devices/fire-tv/docs/identifying-controllers
基本上,你需要在你的Cordova插件中编写识别代码如下:
int hasFlags = InputDevice.SOURCE_GAMEPAD | InputDevice.SOURCE_JOYSTICK;
boolean isGamepad = inputDevice.getSources() & hasFlags == hasFlags;
这样您就可以确定它是否是游戏手柄。对于 Fire TV 遥控器,您需要的代码是:
int hasFlags = InputDevice.SOURCE_DPAD;
bool isRemote = (inputDevice.getSources() & hasFlags == hasFlags)
&& inputDevice.getKeyboardType() == InputDevice.KEYBOARD_TYPE_NON_ALPHABETIC;
InputDevice class 在 Android 开发者网站上可用: http://developer.android.com/reference/android/view/InputDevice.html 所以你基本上需要在你的插件中导入它 class 以确保上面的代码工作正常。
import android.view.InputDevice;