遥控器输入
对于所有遥控器而言,所有按钮、Android事件和行为指南都是相同的,但语音搜索(麦克风)按钮除外,该按钮仅适用于某些遥控器。
有关所有受支持控制器的按钮行为的建议指南,请参阅控制器行为指南。有关处理Amazon Fire游戏控制器输入的信息,请参阅Amazon Fire游戏控制器输入。
控制器概述
亚马逊Fire TV平台支持来自亚马逊Fire TV遥控器、Fire TV语音遥控器、Fire游戏控制器和其他支持蓝牙HID游戏手柄配置文件的游戏控制器的用户输入。所有控制器都必须与要使用的设备配对。
所有亚马逊Fire TV控制器均为Android输入设备。您使用与任何其他Android输入设备相同的技术和API来管理这些设备的输入。
特别是,任何控制器的简单输入(如导航或选择)可以通过键盘事件进行管理,就像处理键盘或按钮控制器的输入一样。
按钮
大多数亚马逊Fire TV遥控器都有这些按钮。某些Fire TV遥控器不包含麦克风(语音搜索)按钮。
一些遥控器具有一些额外的按钮,例如调高/调低音量、电源、Netflix、Amazon Prime和其他应用。但是,无法将这些按钮映射到第三方应用中的事件。
捕获输入
与任何Android输入设备一样,所有亚马逊Fire TV遥控器都会为按键按下动作生成KeyEvent
事件。您可以使用标准的Android事件侦听器接口和回调(onClick()
、onFocusChange()
等)处理控制器按钮输入。亚马逊Fire TV遥控器和语音遥控器都不会引发动作事件(来自Android MotionEvent
类)。
如需捕获View
中的特定按钮按下事件,请覆盖输入事件处理程序,如onKeyDown()
。测试KeyEvent
类的输入常量,捕获特定键。
例如,要捕获向左、向右和中心方向键按钮(以及游戏控制器上的A按钮),请使用以下代码:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
boolean handled = false;
switch (keyCode){
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_BUTTON_A:
// ... 处理选择
handled = true;
break;
case KeyEvent.KEYCODE_DPAD_LEFT:
//... 处理左动作
handled = true;
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
//... 处理右动作
handled = true;
break;
}
return handled || super.onKeyDown(keyCode, event);
}
与所有输入事件一样,侦听器方法应该返回true
以捕获事件并进行处理,或者将该事件传递给super.onKeyDown()
,以便其他控件可对其进行管理。
输入事件参考
下表描述了按钮、Android KeyEvent
常量以及这些按钮的默认行为。任何亚马逊Fire TV遥控器都不会引发动作事件(来自Android MotionEvent
类)。
如果不捕获特定输入事件,则会发生默认行为。
按钮 | 键事件 | 默认行为 |
---|---|---|
主页 | 无 | 将用户返回到主屏幕。这是一个系统事件,无法拦截。 |
后退 | KEYCODE_BACK |
将用户返回到上一个操作或屏幕(活动)。 |
菜单 | KEYCODE_MENU |
调用Android上下文菜单(OptionsMenu)。 |
麦克风(搜索)(仅限语音遥控器) | 无 | 调用系统语音搜索。这是一个系统事件,无法拦截。 |
选择(方向键中心) | KEYCODE_DPAD_CENTER |
选择具有当前焦点的用户界面项。 |
向上(方向键) | KEYCODE_DPAD_UP |
在用户界面中将焦点上移。 |
向下(方向键) | KEYCODE_DPAD_DOWN |
在用户界面中将焦点下移。 |
向左(方向键) | KEYCODE_DPAD_LEFT |
在用户界面中将焦点左移。 |
向右(方向键) | KEYCODE_DPAD_RIGHT |
在用户界面中将焦点右移。 |
播放/暂停 | KEYCODE_MEDIA_PLAY_PAUSE |
控制媒体播放。播放/暂停是一个切换。 |
倒回 | KEYCODE_MEDIA_REWIND |
在媒体播放情景中倒回或向后跳转。 |
快进 | KEYCODE_MEDIA_FAST_FORWARD |
在媒体播放上下文中快进或向前跳转。 |
向上切换频道 | KEYCODE_CHANNEL_UP |
将频道编号加一。 |
向下切换频道 | KEYCODE_CHANNEL_DOWN |
将频道编号减一。 |
Last updated: 2024年2月6日