Android Shake Event

时间:2012-04-04 12:22:04

标签: android android-widget accelerometer

我已经在我的应用程序中实现了Shake Event监听器,并且onShake做了一些逻辑。我希望在用户停止摇动手机后显示对话框。我在哪里需要实现这个逻辑?如果我在onShake上执行它,那么将出现多个对话框。有人能帮助我吗?

由于 洁

1 个答案:

答案 0 :(得分:0)

所以,考虑到你的问题,我最初考虑“调整”你的监听器的常量值(MIN_FORCE,MIN_TIME ......等),以便为事件创建一些“阻力”,所以它不会被过度开除。然后我意识到这是一个愚蠢的想法,因为有一个更好的解决方案... 只是在发生震动事件时取消绑定事件处理程序,然后在用户解除对话框时重新绑定它。为此,请使用您在onResume和onPause方法中使用的答案中提供的相同代码:

这将绑定侦听器:

    mSensorManager.registerListener(mSensorListener,
    mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
    SensorManager.SENSOR_DELAY_UI);

这是解开它:

mSensorManager.unregisterListener(mSensorListener);