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);
    }
}

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值