2

我想在 Android 设备上捕获“TAP”。例如,假设设备在用户的口袋里。然后他从口袋外面用特定的图案触碰了手机两次。比如说,用两个/三个手指敲击,比如“TAP -- TAP”。我想抓住这个。

我想,使用加速度计应该可以实现。现在,我可以阅读 X、Y、Z ......但我怎么能认出它是 `TAP - TAP' 呢?可能吗?

或者,还有其他方法可以实现这一目标吗?谢谢。

4

1 回答 1

0

问题是,当用户走路时(特别是如果他的口袋松了),可能很难将常规摇晃与 TAP TAP 区分开来。它应该像用户走路或跑步时那样工作吗?

为了实现这一点,我将首先在持续时间内观察加速度计,以及在这些相同的加速度测量值上的 TAP TAP 发生率。注意到特殊动作的最好方法是建立一个模式。这是我能想到的第一个例子(非常基本):

  • 在某个加速度计轴上达到阈值(平均值 + OFFSET),可以将其视为第一次点击。
  • 值在平均值附近反转。
  • 达到相同的阈值 - 即在 X 毫秒之前
  • 检测到的动作。

所有工作都在于能够找到正确的模式和相应的算法,知道加速度计对噪声非常敏感(尤其是在口袋中)。

于 2012-04-20T13:53:00.640 回答