Android模仿iOS Messages拿起手机靠近耳朵自动录音

按照既定的开发进度,原本应该开始整合录音功能到神马笔记中了。

无意之间发现iOS Messages还有一个非常非常方便的功能,拿起手机靠近耳朵会自动启动录音功能。

这真是一个超级实用的功能,想象一下在神马笔记中的使用场景。

阳关明媚的午后,看着蒋勋先生的《蒋勋说宋词》,手机上打开神马笔记做读书笔记,读到辛弃疾的“杯汝来前,老子今朝点检形骸,……”,随手拿起手机,自动开始录音就将朗读的内容记录下来。

一、目标

实现神马笔记对话笔记拿起手机靠近耳朵自动录音。

二、功能分析

截图说明
在这里插入图片描述没有启动录音时,拿起手机靠近耳朵。
在这里插入图片描述启动录音功能后,拿起手机靠近耳朵。

三、参考文章

文章说明
android实现 拿起耳边拨打电话提供了很好的实现思路
android模仿打电话期间手机靠近息屏,远离亮屏提供了非常方便的自动息屏的实现方式
android 使用距离传感器实现贴近息屏离开亮屏提供了距离传感器的使用参考

四、开源项目

项目描述
thaleslima / accelerometer-detect-movement[Android] Detect Movement Accurately using Accelerometer in Android
tingtingTT / AndroidDetectMovingPhoneAn Android mobile app that will set alert on the screen if anyone has moved the phone
tbouron / ShakeDetectorThis library provides a easy way to detect a shake movement using the build-in accelerometer and fire a callback on the UI thread every times it happens.
brandonyan99 / MovementDetectorApp to detect if phone moved
avani1004 / PhoneMovedOrNot
mesutgolcuk / AccelerometerTestAppFinds out how many seconds phone moved with accelemoter

五、实现效果

参考了以上文章和开源项目,并且对iOS Messages进行了测试。

确定已经找到了一种比较好的实现方式。

必须结合2个传感器——加速度传感器和距离传感器。

前者用于判断用户是否移动手机,后者用于判断是否靠近耳朵。

只使用距离传感器,导致一个问题,手机没有移动,用手遮挡传感器会触发功能。

因此,必须结合加速度传感器检测手机有移动,和距离传感器判断手机靠近耳朵。

另外还要考量时间的因素,移动的时间太短,用户可能只是移动手机,然后被遮挡,不应该触发功能。

传感器用途目标值
TYPE_ACCELEROMETER检测手机是否移动,以及移动的时间true or false
duration
TYPE_PROXIMITY检测手机是否靠近耳朵true or false

同时,需要增加提示音。

靠近耳朵开始录音时,播放开始提示音,告知用户可以开始录音了。

远离耳朵停止录音时,播放停止提示音,告知用户录音已经结束。

完整的功能开发以及对参数进行调试,预计需要2天的开发时间。

最后整合到神马笔记,以及提交测试,大概需要1天的开发时间。

因此,总共需要至少3天的开发时间。

鉴于开发进度已经严重超期,按照正常的开发进度,应该在6月18日就发布神马笔记的2.7.0版本。

今天已经6月23日,严重超过既定的发布时间。

因此将该功能推迟到未来作为一个独立版本发布。

六、接下来

开始整合录音功能到神马笔记中。

七、Finally

无上甚深微妙法,
百千万劫难遭遇,
我今见闻得受持,
愿解如来真实义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值