Android 安卓:安卓盒子遥控器的按键事件
我很想知道如何从Android电视盒遥控器捕捉按键/按钮事件 例如,我希望在单击遥控器上的“确定”按钮时显示一个弹出菜单。我想从遥控器捕捉下一个/返回键事件 我应该使用Android的Key Event类吗?如果是,我应该如何实现它 我遇到了这个函数,但我不能真正理解它Android 安卓:安卓盒子遥控器的按键事件,android,keyevent,box,television,Android,Keyevent,Box,Television,我很想知道如何从Android电视盒遥控器捕捉按键/按钮事件 例如,我希望在单击遥控器上的“确定”按钮时显示一个弹出菜单。我想从遥控器捕捉下一个/返回键事件 我应该使用Android的Key Event类吗?如果是,我应该如何实现它 我遇到了这个函数,但我不能真正理解它 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_A:
{
//your Action code
return true;
}
}
return super.onKeyDown(keyCode, event);
}
提前感谢。您应该在 编辑: 首先,你应该知道遥控器的按键图(这对于所有类型的安卓电视盒都不一样),上面的代码将帮助你知道你在遥控器上按的按键代码。例如,当我按下遥控器上的按钮时,我得到了键代码3。 然后,我想当按下后退键时,会显示一条祝酒词:
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
// You should make a constant instead of hard code number 3.
if (event.getAction() == KeyEvent.ACTION_UP && event.getKeyCode == 3) {
Toast.makeText(this, "Hello, you just press BACK", Toast.LENG_LONG).show();
}
return true;
}
啊哈,非常感谢。OK按钮怎么样,中间的那个按钮?我如何捕获它?运行上面的代码并尝试按OK按钮,keycode将打印到Logcat。好的,此代码考虑了来自智能手机的keyevents。我只想要遥控器。有什么解决办法吗?@Tien是的,问题也出在应用程序compat中。如果有人遇到同样的问题,答案是@Tien:你能帮我回答我的问题吗。
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
// You should make a constant instead of hard code number 3.
if (event.getAction() == KeyEvent.ACTION_UP && event.getKeyCode == 3) {
Toast.makeText(this, "Hello, you just press BACK", Toast.LENG_LONG).show();
}
return true;
}