Android TV开发中所有的遥控器按键监听及注意事项

来源:互联网 发布:c 俄罗斯方块源码 编辑:程序博客网 时间:2024/05/16 17:46

简单记录下android 盒子开发遥控器的监听 ,希望能帮到新入门的朋友们

不多说,直接贴代码
public class MainActivity extends Activity {    private String  TAG="key";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        switch (keyCode) {           case KeyEvent.KEYCODE_ENTER:     //确定键enter           case KeyEvent.KEYCODE_DPAD_CENTER:               Log.d(TAG,"enter--->");              break;           case KeyEvent.KEYCODE_BACK:    //返回键               Log.d(TAG,"back--->");               return true;   //这里由于break会退出,所以我们自己要处理掉 不返回上一层           case KeyEvent.KEYCODE_SETTINGS: //设置键               Log.d(TAG,"setting--->");               break;           case KeyEvent.KEYCODE_DPAD_DOWN:   //向下键                /*    实际开发中有时候会触发两次,所以要判断一下按下时触发 ,松开按键时不触发                 *    exp:KeyEvent.ACTION_UP                 */                 if (event.getAction() == KeyEvent.ACTION_DOWN){                       Log.d(TAG,"down--->");                }                 break;           case KeyEvent.KEYCODE_DPAD_UP:   //向上键               Log.d(TAG,"up--->");               break;           case     KeyEvent.KEYCODE_0:   //数字键0               Log.d(TAG,"0--->");               break;           case KeyEvent.KEYCODE_DPAD_LEFT: //向左键               Log.d(TAG,"left--->");               break;           case KeyEvent.KEYCODE_DPAD_RIGHT:  //向右键               Log.d(TAG,"right--->");                break;           case KeyEvent.KEYCODE_INFO:    //info键               Log.d(TAG,"info--->");               break;           case KeyEvent.KEYCODE_PAGE_DOWN:     //向上翻页键            case KeyEvent.KEYCODE_MEDIA_NEXT:                  Log.d(TAG,"page down--->");                break;            case KeyEvent.KEYCODE_PAGE_UP:     //向下翻页键            case KeyEvent.KEYCODE_MEDIA_PREVIOUS:                  Log.d(TAG,"page up--->");                break;            case KeyEvent.KEYCODE_VOLUME_UP:   //调大声音键                 Log.d(TAG,"voice up--->");                break;            case KeyEvent.KEYCODE_VOLUME_DOWN: //降低声音键                 Log.d(TAG,"voice down--->");                 break;          default:             break;        }        return super.onKeyDown(keyCode, event);    }}

效果如下:

基本按键触发

大家有什么问题可以留言。