市场部给我发来一个遥控器,让我测试按键,普通的上下左右ok在onkeydown都是可以获取到的

但这个遥控器,居然有上下翻页pg+,pg-,奈何获取不到

在onkeydown下面随便按一个按键打印了一下,发现是可以获取到的

Log.e("onKeyDown", "keyCode:"+event.getKeyCode()+"::"+KeyEvent.KEYCODE_PAGE_DOWN);

就想着,拦截呗,操作试了试,还真可以 

 //拦截一切按键
    @Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        //拦截遥控器事件
        Log.e("onKeyDown", "keyCode:"+event.getKeyCode()+"::"+KeyEvent.KEYCODE_PAGE_DOWN);//下翻页
        Log.e("onKeyDown", "keyCode:"+event.getKeyCode()+"::"+KeyEvent.KEYCODE_PAGE_UP);//上翻页
        //为了防止二次触发添加&& event.getAction() != KeyEvent.ACTION_UP避免抬起的动作
        if (event.getKeyCode() == KeyEvent.KEYCODE_PAGE_DOWN&& event.getAction() != KeyEvent.ACTION_UP) {
            Log.e("onKeyDown", "下翻页");
            handler.sendEmptyMessage(23);
            return true;
        }
//        else if (event.getKeyCode()== KeyEvent.KEYCODE_HOME&& event.getAction() != KeyEvent.ACTION_UP) {
//            handler.sendEmptyMessage(11);//这个是不要注销
//            return true;
//        }
        else if (event.getKeyCode() == KeyEvent.KEYCODE_PAGE_UP&& event.getAction() != KeyEvent.ACTION_UP) {
            Log.e("onKeyDown", "上翻页");
            handler.sendEmptyMessage(22);
            return true;
        }

        return super.dispatchKeyEvent(event);
    }

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐