phonewindowmanager

Android上如何让应用截获系统按键

Deadly 提交于 2019-12-10 02:13:36
本文章主要讲述Android智能机上,应用捕获按键的处理。遥控器上按键分为两种,普通按键和热键。普通按键就是我们常用的数字键,上下左右功能键,设置,返回,确认等按键。而在android上,对于遥控器的映射中,规定某些按键应用是无法拦截到的,我们称此为热键,如静音键,电源键,HOME键,直播键等等。 1. 应用拦截普通按键的处理: // 拦截系统热键 @Override public boolean dispatchKeyEvent(KeyEvent event) { int key = event.getKeyCode(); Log.i(TAG, "[test] dispatchKeyEvent event = " + event); if (key == KeyEvent.KEYCODE_VOLUME_DOWN || key == KeyEvent.KEYCODE_VOLUME_UP) { Log.i(TAG, "[test] catch event!! return true! "); return true; } return super.dispatchKeyEvent(event); } 在按键的处理过程中,若应用重写了dispatchKeyEvent,并且对响应的按键进行了处理完后,直接return true,则系统将不再处理此按键的响应。如果不写return true