我正在尝试使用Android Studio构建Android TV应用程序,该应用程序支持频道上/下按钮作为额外功能导航到不同的YouTube频道/节目/视频(就像普通的卫星电视那样),而不仅仅是支持D-pad导航按钮。是否有可能实现这一点并希望有人知道如何做到这一点?
谢谢。
在等待某人回复此问题时,我自己发现了解决方案。
基本上你只需要在相关的Activity类中覆盖onKeyDown()或onKeyUp()方法,并且不要忘记返回super.onKeyDown()或super.onKeyUp(),这样无人值守的KeyEvent就会像往常一样出现。
至于我的情况,我正在尝试仅为频道上下按钮设置自定义功能。以下是示例代码。
@Override
public boolean onKeyDown(int KeyCode, KeyEvent event){
boolean handled = false;
if(KeyCode == KeyEvent.KEYCODE_CHANNEL_DOWN){
Log.i("KeyEvent","Channel down button pressed");//for debugging, to be printed on logcat
handled=true;
//do something
}
else if(KeyCode == KeyEvent.KEYCODE_CHANNEL_UP){
Log.i("KeyEvent","Channel up button pressed");//for debugging, to be printed on logcat
handled=true;
//do something
}
if(handled){
return handled;
}
//return super.onKeyDown() to attend unattended KeyEvent
else{
return super.onKeyDown(KeyCode, event);
}
}
包含KEYCODE常量列表的KeyEvent类文档可以在here中找到。