在研究一个功能:Android如何通过耳机键来拍照/摄像,好处自不用多说了,拍照时可以防抖

那么这引出一个问题,如何在 Camera/VideoCamera Activity中监听耳机键。

耳机键在 android 中的定义为

/** Key code constant: Headset Hook key.

* Used to hang up calls and stop media. */

public static final int KEYCODE_HEADSETHOOK    = 79;

主要用来接听/挂断 电话,播放/暂停音乐视频等

监听耳机键有两种方式:

1,直接在 Activity 的 onKeyDown 或 onKeyUp 函数中添加对应的 case 即可

@Override

public boolean onKeyUp(int keyCode, KeyEvent event) {

switch (keyCode) {

……

case KeyEvent.KEYCODE_HEADSETHOOK:

//add your code here

……

}

return super.onKeyUp(keyCode, event);

}

2,注册 BroadcastReceiver 来响应该按键

//  listener media button

private BroadcastReceiver mMediaButtonReceiver = null;

private class MediaButtonBroadcastReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

Log.v(TAG," call MediaButtonBroadcastReceiver");

KeyEvent event = (KeyEvent) intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);

Log.v(TAG, " event "+event);

if ((event != null)&& (event.getKeyCode() == KeyEvent.KEYCODE_HEADSETHOOK)) {

Toast.makeText(VideoCamera.this, R.string.hook, Toast.LENGTH_SHORT).show();

}

}

}

//registerReceiver

IntentFilter mediaButtonIntentFilter = new IntentFilter();

mediaButtonIntentFilter.addAction(Intent.ACTION_MEDIA_BUTTON);

mMediaButtonReceiver = new MediaButtonBroadcastReceiver();

registerReceiver(mMediaButtonReceiver, mediaButtonIntentFilter);

//unregisterReceiver

if (mMediaButtonReceiver != null){

unregisterReceiver(mMediaButtonReceiver);

mMediaButtonReceiver = null;

}

linux监听耳机按键,Android 中如何监听耳机键消息相关推荐

  1. android 屏蔽实体按键,Android中屏蔽返回键,home键以及其他实体按键

    屏蔽键重写activiy的两个方法就行 屏蔽返回键 public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { ...

  2. android home跳转,Android 中按home键和跳转到主界面的实例代码

    Android 中按home键和跳转到主界面的实例代码 //home Intent intent= new Intent(Intent.ACTION_MAIN); intent.setFlags(In ...

  3. android 中如何监听耳机键消息

    在研究一个功能:如何通过耳机键来拍照/摄像,好处自不用多说了,拍照时可以防抖 那么这引出一个问题,如何在 Camera/VideoCamera Activity中监听耳机键. 耳机键在 android ...

  4. android power 按键,Android Framework层Power键关机流程(一,Power长按键操作处理)

    一:Android处理Power按键长按操作 在Framework层中,Android4.x对Power键(KeyEvent.KEYCODE_POWER)的操作,我们从PhoneWindowManag ...

  5. 在linux kernel或android中解析cmdline参数

    文章目录 ★★★ 友情链接 : 个人博客导读首页-点击此处 ★★★ Kernel command line: earlycon androidboot.selinux=permissive uart_ ...

  6. android linux截图库,Android中截图(surfaceView)源码

    总结了一个方法,实现了在Android当前Activity的截图,本人测试确实通过了,不过有朋友说截出来的图是黑色的,不能看.我心想,这没有问题啊,相同的代码我就可以执行通过,并没有没有在意这个问题. ...

  7. Linux驱动学习--android中的内存管理机制ION(一)--简单介绍

    目录 一.引言 二.ION的介绍及使用 ------> ION介绍 ------> ION的使用 ------> HEAP种类 三.接口分析 ------> 主要数据结构 -- ...

  8. 【Android】Android中屏蔽返回键,home键以及其他实体按键

    屏蔽键重写activiy的两个方法就行 屏蔽返回键 public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { ...

  9. android之broadcastreceiver 耳机按键,Android BroadcastReceiver 实时监听耳机拔出事件

    写作背景:最近在做视频播放器,客户提出两项新需求: 插耳机看视频,拔出耳机,视频需要暂停. 视频播放时,按耳机按钮,视频暂停播放:再按耳机按钮,视频暂停. 第一个问题,插耳机看视频时,如何监听到耳机拔 ...

最新文章

  1. Rosalind: 兔子与递归
  2. Jenkins中的邮件设置
  3. 蒟蒻JZZ的犯错汇总
  4. windows系统连接***后不能上网
  5. 知识图谱学习笔记-知识图谱介绍
  6. android发送短信指定收件人,android-发送短信给收件人
  7. 美国读本科出勤率低被休学,无法毕业怎么办
  8. Xen的起源与工作原理
  9. hiho编程练习赛20
  10. GoLang爬取花瓣网美女图片
  11. QTableView结构及用法
  12. Grid++Report报表开发工具介绍
  13. 【Python】xlwings-删除重复行
  14. 氨基-八聚乙二醇Amino-PEG8-alcohol,352439-37-3
  15. python添加文字水印中间旋转45度,Python添加pdf水印
  16. 【数值计算】数值解析--二阶偏微分方程的3种基本形
  17. 安卓中PullToRefresh添加头布局的方法
  18. 条件随机场介绍(7)—— An Introduction to Conditional Random Fields
  19. java学籍管理信息系统模板_java学籍管理系统051
  20. 趋高智能注塑件表面视觉检测之机器视觉的缺陷检测方案

热门文章

  1. 小马哥 ------高仿三星S5刷机 高仿三星G9006系列拆机主板机型图与开机界面图
  2. 道琼斯200万高危人群名单泄露,从AWS上
  3. 新媒体运营岗位有哪些
  4. 按位取反(符号:~)
  5. intellij idea 合并分支到主分支,主分支代码同步到某一分支
  6. 从少量访问日志还原黑客攻击过程
  7. WordPress未能连接到FTP服务器 xxxxxxx:21
  8. 如何理解接口隔离原则?
  9. 接口隔离原则:接口里的方法,你都用得到吗?
  10. 权威的国际敏捷认证Certified Scrum Master (CSM)