简单记录下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;             case KeyEvent.KEYCODE_VOLUME_MUTE: //禁用声音                  Log.d(TAG,"voice mute--->");                 break;            break;          default:             break;        }        return super.onKeyDown(keyCode, event);    }}

效果如下:

Android TV开发中所有的遥控器按键监听及注意事项,新增home键监听_第1张图片

home键的监听要监听广播:

 class  HomeRecaiver extends BroadcastReceiver{        @Override        public void onReceive(Context context, Intent intent) {            String action = intent.getAction();            if(action.equals(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)){                String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);                if(SYSTEM_DIALOG_REASON_HOME_KEY.equals(reason)){                    Toast.makeText(MainActivity.this,"home键触发",0).show();                    Log.d(TAG, "home键触发");                }            }        }    }

在oncreate()注册广播

    public final String SYSTEM_DIALOG_REASON_KEY = "reason";    public final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";    /**     * 注册广播     */    private void initReceiver() {        homeReceiver = new HomeRecaiver();        IntentFilter filter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);        registerReceiver(homeReceiver, filter);    }

退出注销广播

@Override    protected void onDestroy() {        super.onDestroy();        if(homeReceiver!=null){            unregisterReceiver(homeReceiver);        }    }

更多相关文章

  1. android 长按键菜单
  2. 【Android】Android 9.0 隐藏虚拟按键跟状态栏,除去google搜索栏
  3. android声音调整源代码分析
  4. Android adb 模拟滑动 按键 点击事件
  5. android home按键拦截
  6. 「横竖屏」 「分屏」 「虚拟按键」
  7. Android虚拟按键的适配
  8. Android App监听软键盘按键的方式与改变软键盘右下角确定键样式
  9. Android WIFI,蓝牙,电池,背光,SD卡,摄像头,按键,MIC,重力感应等)功能的简

随机推荐

  1. android 使用openCV编译.so库
  2. android体系架构
  3. Android(安卓)CountDownTimer的使用
  4. android java开发 第一天 之熟悉eclipse
  5. Android5大布局方式
  6. RecyclerView设置addItemDecoration在Fra
  7. Android(安卓)WakeLock
  8. 全屏与非全屏动态切换的正确方式
  9. 使用命令行在手机上运行android单元测试
  10. 安卓开发环境安装