0

我已经在我的应用程序中实现了 Shake Event 监听器,并且 onShake 做了一些逻辑。我想在用户停止摇动手机后显示一个对话框。我需要在哪里实现这个逻辑?如果我这样做 onShake 本身,则会出现多个对话框。有人能帮我吗?

谢谢杰

4

1 回答 1

0

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

这个绑定监听器:

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

这可以解除绑定:

mSensorManager.unregisterListener(mSensorListener);
于 2012-04-04T13:52:24.857 回答