手表靠近嘴时如何启动应用程序

问题描述

我想开发一个Android Wear应用程序,当手表放在嘴边时,它会听取用户的声音。如何检测到这种运动?

解决方法

我设计了具有类似功能的covid-19 Wear应用程序,以防止用户触摸其嘴/眼(面部区域)。 您可以注册重力传感器侦听器,并检测用户何时将手抬到嘴/头区域。

private SensorManager mSensorManager;

//register in #onResume

 mSensorManager.registerListener(this,mSensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY),SensorManager.SENSOR_DELAY_NORMAL);

当用户佩戴手表时,重力传感器测得的x分量在手向下时为+9.8,而在手向上面向嘴时为-9.8。当手表戴在右手时,这些值会颠倒。由于向上或向下的值可能不精确,因此可以留出一些空间,因此可以使用{{1}中的GRAVITY THRESHOLD而不是9.8。如果花费的时间少于7.0f纳秒的阈值,您也可以认为上下移动成功:

2000000000

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...