logo
当前位置:首 页 > 移动开发 >android > 查看文章

最近在做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);
 
    }

这个我自己都转了几手的代码了,不知道出处了,但是感谢原作者

 

 

 

说说梦想,谈谈感悟 ,聊聊技术,有啥要说的来github留言吧 https://github.com/cjx2328

—— 陈 建鑫

陈建鑫
你可能也喜欢Related Posts
footer logo
未经许可请勿自行使用、转载、修改、复制、发行、出售、发表或以其它方式利用本网站之内容。站长联系:cjx2328#126.com(修改#为@)
Copyright ©ziao Studio All Rights Reserved. E-mail:cjx2328#126.com(#号改成@) 沪ICP备14052271号-3