2012-04-04 88 views
0

我已經在我的應用程序中實現了Shake Event偵聽器,並且在Shake中執行了一些邏輯。我想在用戶停止搖動手機後顯示對話框。我需要在哪裏實現這一邏輯?如果我在抖動本身,那麼會出現多個對話框。有人能幫我嗎?Android搖動事件

感謝 潔

+0

我們可以看到你的搖動事件監聽器嗎?你可能需要設置一個震動之間的時間間隔,以避免事件重複發射 – Th0rndike 2012-04-04 12:23:23

+0

我實際上實現了另一個用戶建議的一個http://stackoverflow.com/a/5117254/1068513 – jai 2012-04-04 12:41:29

+0

哪一個?那個被接受爲解決方案?每個聽衆在這個問題上都有不同的方法。如果是答案上接受的那個,它不處理震動之間的時間,所以你需要實現它。 – Th0rndike 2012-04-04 12:48:33

回答

0

如此,想着你的問題,我最初考慮以創造一些「性」爲您監聽(MIN_FORCE,MIN_TIME ...等)的常量值,以「調整」該事件,所以不會被過度解僱。然後我意識到這是一個愚蠢的想法,因爲有一個更好的解決方案... 只是在發生搖動事件時解除綁定事件處理程序,然後在用戶關閉對話框時重新綁定它。要做到這一點,請使用您用於的onResume和的onPause方法的答案提供的相同代碼:

這聽者綁定:

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

,這對解除綁定:

mSensorManager.unregisterListener(mSensorListener); 
+0

謝謝Th0rndike – jai 2012-04-04 14:32:39