在研究一个功能:Android如何通过耳机键来拍照/摄像,好处自不用多说了,拍照时可以防抖
2014-07-08 16:48
387 查看
那么这引出一个问题,如何在 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公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-12/76573.htm
耳机键在 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公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-12/76573.htm
相关文章推荐
- 在页面中,我们经常看到,一个button按钮,如果属标点击,就会触发一个窗口的显示,如果二次点击并可以隐藏,那么如何通过JAVA配合html来实现这一功能呢?
- 现在很多的手机应用,都可能会直接嵌入一个web页面。这样做的好处:一个是功能更新方便,维护起来容易,只需要维护服务器的页面即可,不需要更新客户端;另一个是功能通用,不仅Android可以用,iOS也可
- android, 删除SD卡音乐文件。通过getContentResolver读取音乐文件,可以获取到一个完整的路径,直接new File(这括号写获取的路径).delete();
- android获得手机照片,摄像,拍照,录音等功能并将其转为字符串
- Android 通过solid来定义不同边框的颜色,可以只定义一个边框的颜色
- Cocos2d-x使用android拍照功能加载照片内存过大,通过另存照片尺寸大小解决
- android获得手机照片,摄像,拍照,录音等功能并将其转为字符串
- FootStep 40、如何调用S60的系统摄像头功能进行拍照与摄像?
- FootStep 40、如何调用S60的系统摄像头功能进行拍照与摄像?
- Android 通过solid来定义不同边框的颜色,可以只定义一个边框的颜色
- 【android学习】_如何创建一个android下可以使用的数据库
- 编写一个通讯录,功能与以前的诺基亚手机一样,可以通过键盘进行箭头的移动,回车进入选项,用“W”键代表手机手机左键,“backspace”键代表返回上一级。能够实现基本的人性化的增删改查及文件的导入导出
- 在Oracle如何通过配置可以禁用Form的导出功能(Form-->Export的功能)
- net的web系统如何在平板电脑的Android系统中开启摄像头拍照功能并把图片传到服务器上!!!
- 如何调用S60的系统摄像头功能进行拍照与摄像?zz
- 如何设计一个软件的架构,使它可以提供二次开发的功能?
- android获得手机照片,摄像,拍照,录音等功能并将其转为字符串
- Android 通过solid来定义不同边框的颜色,可以只定义一个边框的颜色
- Android中如何让一个布局可以被选中和点击
- android如何写一个自定义的dialog可以在Title的位置弹出来