android shake摇甩检测改进

来源:互联网 发布:java inputstream skip 编辑:程序博客网 时间:2024/04/30 04:14


      从网上找了一个方法(感谢原创者),就是把x,y,z三个
轴上的加速度变化(原本说的是距离变化,但是我觉得应该是加速度变化,欢迎讨论)统统加起来, 然后除以间隔的时间, 得出一个值, 然后如果这个值是大于某一个值的话, 就是shake动作了。 

      我使用这种方法过程中发现有个小问题,就是走路的时候手机上下晃动也被认为是shake,造成误判。因为我们摇动手机的时候基本上都是在x,y决定的平面内移动,所以我就把 z 轴给忽略掉。 经检验效果很好。

      然后增加了一个时间限定,在一秒钟之内的shake只计一次。这个时间是可以根据情况定义的。