最近在做AndroidTV的一个小app,为了能在电视上看CCTV5【要理解下没有闭路电视的程序员】,想做一个之前那种打开就可以看电视,然后用遥控器上下切换的功能【就是那种卫星电视的感觉】
发现遥控器不好找键值,找了一个小米盒子,天猫魔盒和一个杂牌【看不出什么牌子】电视盒子都能用的代码。感觉他们是一家代工的。就像是电信和移动的电视盒子都是一家代工的【我们家电信移动的电视盒子连电源线都是一起用的,要换一家就是换下盒子,电源线遥控器更别说HDMI线了都是通用的】废话不多说,上代码:
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;
            case KeyEvent.KEYCODE_VOLUME_MUTE: //禁用声音
                Log.d(TAG,"voice mute--->");
                break;
 
            default:
                break;
        }
 
        return super.onKeyDown(keyCode, event);
 
    }这个我自己都转了几手的代码了,不知道出处了,但是感谢原作者
 
  