将频道 Up/Down 按钮与 Android 电视应用相关联
Linking Channel Up/Down Button with Android TV Application
我正在尝试使用 Android Studio 构建一个 Android 电视应用程序,它支持频道 up/down 按钮作为导航到不同 YouTube channels/shows/videos 的额外功能(例如一个普通的卫星电视就可以了)而不是只支持方向键导航按钮。是否有可能实现这一点,希望有人知道如何做到这一点?
谢谢。
在等待别人回答这个问题的过程中,我自己找到了解决办法。
基本上你只需要在相关 Activity class 中覆盖 onKeyDown() 或 onKeyUp() 方法,并且不要忘记 return 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);
}
}
KeyEvent class 可以找到包含可用 KEYCODE 常量列表的文档 here。
我正在尝试使用 Android Studio 构建一个 Android 电视应用程序,它支持频道 up/down 按钮作为导航到不同 YouTube channels/shows/videos 的额外功能(例如一个普通的卫星电视就可以了)而不是只支持方向键导航按钮。是否有可能实现这一点,希望有人知道如何做到这一点?
谢谢。
在等待别人回答这个问题的过程中,我自己找到了解决办法。
基本上你只需要在相关 Activity class 中覆盖 onKeyDown() 或 onKeyUp() 方法,并且不要忘记 return 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);
}
}
KeyEvent class 可以找到包含可用 KEYCODE 常量列表的文档 here。