安卓自拍神器Shutter的开发
来源:互联网 发布:roboguide编程 编辑:程序博客网 时间:2024/03/29 06:19
由于最近的项目需要兼容现在市面上的所谓的自拍神器这种硬件,实现从远端(10m之内)就能控制软件执行某一些功能。遂从某宝购买了10元包邮的水滴白蓝牙自拍按钮。
这东西的基本原理无非就是模拟一个蓝牙键盘,通过发送功能键Enter和VolumeUp配合上层软件的捕获就可以实现拍照或者远程控制了。
为了在安卓中的所有Activty中都可以监听该事件,首先自己写一个BaseActivity类继承原Activity类(Appcompat等等),重载OnKeyDown方法:
public boolean onKeyDown(int keyCode, KeyEvent event) {// Log.e("BT Test", event.toString());switch (keyCode) {// I am very pleasure that you could see these code of this field !// Why we need to catching 'KEYCODE_ENTER' scan code ? see my CSDN blog !case KeyEvent.KEYCODE_ENTER:return true;case KeyEvent.KEYCODE_VOLUME_UP:/* * AlertDialog.Builder builder = new AlertDialog.Builder(this); * builder.setTitle("测试功能"); builder.setMessage("求助按钮按下!"); * builder.setPositiveButton("知道了", new DialogInterface.OnClickListener() { * * @Override public void onClick(DialogInterface dialog, int which) { * dialog.dismiss(); } }); builder.show(); */Toast.makeText(Global.context, "SOS报警", Toast.LENGTH_SHORT).show();Global.cr.pushSosMessage();playSosSound();return true;default:return super.onKeyDown(keyCode, event);}}为啥要把Enter按钮捕获之后丢掉呢?
原因:在我的实际测试中,如果没有捕获Enter的话,焦点会停留在界面中的某一个控件上(例如某按钮,某ImageButton),等到第二次激发按键的时候,就会执行控件的OnClick方法,因此会产生诸如按下按钮之后自动跳转到了另一个Activity这样的问题。所以捕获Enter丢掉即可。
为什么必须捕获VolumeUp?因为不捕获这个扫描吗的话,一直按按钮,声音就会一直增加,一直到最大,这当然不是用户想要的。
缺陷:回车键基本就是废了。应用程序内部也没法增大音量。
阅读全文
0 0
- 安卓自拍神器Shutter的开发
- 安卓开发中必备的那些神器APP
- 安卓神器tasker
- 原生开发安卓/iOS,Visual Studio迎神器扩展
- 安卓开发必备神器——Android Studio
- 安卓开发技巧篇(布局查看神器)
- 柔光自拍再进化,最强自拍神器X9s开启预约
- stm32F4应用笔记(一)利用蜂鸣器制作的超声波自拍神器
- Snapchat:“很黄很暴力”自拍分享神器
- 封闭开发自拍片
- 安卓调试神器-Stetho(Facebook出品)的使用
- 安卓调试神器-Stetho(Facebook出品)的使用
- 安卓调试神器-Stetho(Facebook出品)的使用
- 安卓调试神器-Stetho(Facebook出品)的使用
- 安卓调试神器-Stetho(Facebook出品)的使用
- 我的自拍123
- 推荐安卓开发神器(里面有各种UI特效和实例)
- 安卓渗透神器dsploit笔记
- Ubuntu16.04 安装PHP7 的 imagick 扩展 踩坑过程
- 安装和配置maven并在eclipse很好的使用maven 仓库创建maven工程
- Oracle的数据泵导入、导出
- 细说微服务架构的优势与不足那点事
- Linux下串口编程遇到的一个坑记录
- 安卓自拍神器Shutter的开发
- viewpager+fragment 动态添加删除
- 阿里云ECS mysql数据库修改密码 远程登录
- 目标追踪算法KCF(kernelized correlation filters)论文学习笔记
- MYSQL时间函数
- 从开源项目学做微信小程序
- 数据结构——第二讲、线性结构(5)
- Android自定义View实现的几种方式
- Git常用命令总结