2013-04-23 73 views
3

我看過這篇文章unable to detect shake event when my phones screen is off in android。但這個問題與此不同。當我的手機處於鎖定狀態時如何檢測搖動事件

我創建了一個應用程序,它說話(使用TextToSpeach API)時,我搖動設備。爲此,我創建了一個「服務」,在其中註冊了「ShakeListener」。當我搖動設備時,它會說當前時間。

但是,這工作正常,而我的設備是「開」。當我鎖定我的設備時,它停止工作。任何人都可以詳細說明背後的問題嗎?

回答

1

我認爲這裏的問題是,當你鎖定設備時,它會進入睡眠模式。而你的ShakeListener不會收到抖動事件。實現你想要的最好的方法是註冊廣播接收器來接收搖動事件。但據我所知,android不提供這樣的廣播。另一個解決方案是獲取部分WakeLock。它會阻止android進入睡眠狀態。但當然這會導致電池問題。也請看看這個主題:Android accelerometer not working when screen is turned off

+0

有沒有解決辦法來解決這個問題? – 2013-04-25 05:51:25

0

可能你不能收到這個通知,直到你修補了一些內核實現。 Android不會播放此類通知。

相關問題