简单记录下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);    }}

效果如下:

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. ReactNative 在用react-navigation组件时,没有 navigator.getCurr
  3. Android(安卓)广播大全
  4. android广播监听短信并显示内容
  5. Android(安卓)手势的识别和控制 GestureDetecor
  6. android的init.rc文件的语法
  7. Android广播接收器BroadcastReceiver——学会这一篇文章就够了
  8. Android(安卓)重力感应
  9. Android(安卓)监听EditText文本输入 EditText监听事和输入事件

随机推荐

  1. 一个简单的demo学习Android远程Service(AI
  2. Android应用程序的Life Cycle
  3. Android(安卓)开发中常用到的adb,aapt,gi
  4. Android(安卓)使用 SharedPreferences 保
  5. Python+Android进行TensorFlow开发
  6. Android第三课 联调华为手机
  7. Android(安卓)Windows 显示层次
  8. Android(安卓)手动显示和隐藏软键盘
  9. Android中文API(119)——TableRow
  10. 安卓巴士Android开发神贴整理