我已经在我的应用程序中实现了 Shake Event 监听器,并且 onShake 做了一些逻辑。我想在用户停止摇动手机后显示一个对话框。我需要在哪里实现这个逻辑?如果我这样做 onShake 本身,则会出现多个对话框。有人能帮我吗?
谢谢杰
我已经在我的应用程序中实现了 Shake Event 监听器,并且 onShake 做了一些逻辑。我想在用户停止摇动手机后显示一个对话框。我需要在哪里实现这个逻辑?如果我这样做 onShake 本身,则会出现多个对话框。有人能帮我吗?
谢谢杰
因此,考虑到您的问题,我最初考虑“调整”您的侦听器的常量值(MIN_FORCE、MIN_TIME ... 等),以便为事件创建一些“阻力”,因此它不会被过度触发. 然后我意识到这是一个愚蠢的想法,因为有一个更好的解决方案......只需在发生抖动事件时取消绑定事件处理程序,然后在用户关闭对话框时重新绑定它。为此,请使用您用于 onResume 和 onPause 方法的答案中提供的相同代码:
这个绑定监听器:
mSensorManager.registerListener(mSensorListener,
mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_UI);
这可以解除绑定:
mSensorManager.unregisterListener(mSensorListener);