Android设备可用物理按键及其点击事件
物理按键 | KEYEvent | 说明 |
---|---|---|
电源键 | KEYCODE_POWER | 启动或唤醒设备 |
后退键 | KEYCODE_BACK | 返回到上一个界面 |
菜单键 | KEYCODE_MENU | 显示当前应用的菜单 |
Home键 | KEYCODE_HOME | 返回到HOME界面 |
查找键 | KEYCODE_SEARCH | 在当前应用中进行搜索 |
相机键 | KEYCODE_CAMERA | 启动相机 |
音量键 | KEYCODE_VOLUME_UP KEYCODE_VOLUME_DOWN | 控制当前上下文音量 |
方向键 | KEYCODE_DPAD_CENTER KEYCODE_DPAD_UP KEYCODE_DPAD_DOWN KEYCODE_DPAD_LEFT KEYCODE_DPAD_RIGHT | 设备的方向键 |
键盘键 | KEYCODE_0,.....9,KEYCODE_A,.......KEYCODE_Z | 数字0~9 字母A~Z |
例子:屏蔽手机的后退键
在oncreate()方法中,重写onKeyDown()方法来拦截用户点击后退按钮事件
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_BACK){ return true;//屏蔽按钮 } return super.onKeyDown(keyCode, event); }
注意: 其中的方法可以变化KeyCode 可以选择上面所列举的按钮物理键,但是每次只能使用一个
public boolean onKeyUp(int keyCode, KeyEvent event) { if ((keyCode==KeyEvent.KEYCODE_VOLUME_UP)){ Toast.makeText(MainActivity.this,"DADADA",Toast.LENGTH_SHORT).show(); return false; } return super.onKeyUp(keyCode, event); }
当处理物理按钮事件的时候提供的回掉方法有:onKeyUp(),onKeyDown()和OnkeyLongPress();