0

嗨,我想知道平板电脑是否被棍子轻轻击中。我想也许实施加速度计应该这样做。但我所看到的人们都在试图用它来寻找震动动作。如果平板电脑被窃听,有什么方法可以找到吗?谢谢。

编辑:通过说点击我的意思是点击平板电脑的顶部。不在屏幕上。

4

1 回答 1

0

我想说检测点击的更简单方法是测量 MotionEvent.ACTION_DOWN 和相应的 ACTION_UP 之间的时间 - 如果它小于 350 毫秒,则用户可能正在点击而不是按下或一些另一种手势。

考虑如下内容,其中 TAP_CONSTANT 将是一个用于点击持续时间的整数常量:

private class TapListener implements OnTouchListener
{
    long time;

    @Override
    public boolean onTouch(View v, MotionEvent event)
    {

        if (event.getAction() == MotionEvent.ACTION_DOWN)
        {
            time = System.currentTimeMillis();
        }
        else if (event.getAction() == MotionEvent.ACTION_UP)
        {
            if ((System.currentTimeMillis() - time) <= TAP_CONSTANT)
            {
                // We have a tap event, call our tap logic methods!
                return true;
            }
        }
        return false;
    }
}
于 2013-02-25T16:20:07.907 回答