Android 使用音量键/耳机按键控制拍照

一、简介

一般手机都有 “音量上键”、“音量下键”,耳机线上通常也有 “上、中、下键”。有时我们会需要用到这些键来执行一些特殊的任务,例如 拍照,那么该怎么做呢?

步骤就是:

  1. 监听按键的事件
  2. 并执行指定的任务

最方便的方式是在 Activity 的 onKeyDown(int keyCode, KeyEvent event) 或者 onKeyUp(int keyCode, KeyEvent event) 方法中获取到按键事件,并根据不同的 keyCode 执行不同的任务。另外一种方式便是使用广播来接收按键事件。

二、实现

public class MainActivity extends AppCompatActivity {

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        Log.d(TAG, "onKeyDown keyCode: " + keyCode);
		switch (keyCode) {
			case KeyEvent.KEYCODE_VOLUME_UP: // 音量上键
				break;
			case KeyEvent.KEYCODE_VOLUME_DOWN: // 音量下键
				// do something. eg: capture
				break;
			case KeyEvent.KEYCODE_MEDIA_PREVIOUS: // 耳机上键
				break;
			case KeyEvent.KEYCODE_MEDIA_PAUSE: // 单按键耳机的按键或三按键耳机的中间按键
				break;
			case KeyEvent.KEYCODE_HEADSETHOOK: // 与KEYCODE_MEDIA_PAUSE通常相同,具体看驱动定义
				break;
			case KeyEvent.KEYCODE_MEDIA_NEXT: // 耳机下键
				break;
			default:
				break;
		}
        return super.onKeyDown(keyCode, event);
    }
}

得到监听事件后,具体做什么操作都是可以自定义的。

猜你喜欢

转载自blog.csdn.net/afei__/article/details/92833026