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