2016-09-26 54 views
2

在我的android應用程序中,我使用PROXIMITY_SCREEN_OFF_WAKE_LOCK WakeLock,以便在激活接近傳感器時關閉屏幕。Android WakeLock與PROXIMITY_SCREEN_OFF_WAKE_LOCK級別導致onPause被稱爲

Android的文件說:

然而,該設備將無法入睡,而屏幕已經由接近傳感器關閉,因爲它有效地計爲正在進行的用戶活動下降。

但是當傳感器被激活並且屏幕關閉時,我的活動的事件被調用,並且在屏幕打開時再次調用onResume。這是否意味着設備在屏幕關閉時進入睡眠狀態?關於如何防止我的活動在屏幕關閉時暫停的任何建議?

+1

我遇到同樣的問題。在我的nexus 5x上它不會調用onPause,這是預期的。在Galaxy S6上,它會調用onPause。驚喜驚喜。我希望所有的三星手機都會爆炸。 –

+0

http://stackoverflow.com/questions/35318649/android-proximity-sensor-issue-only-in-samsung-devices –

+0

我使用了WakeLock和SensorManager代碼的組合來解決這個問題 – ammcom

回答

0

使用PARTIAL_WAKE_LOCK的代替PROXIMITY_SCREEN_OFF_WAKE_LOCK它會爲你工作。並在您的活動中獲得oncreate()並在onPause()中發佈。

+1

PARTIAL_WAKE_LOCK如何在關閉屏幕時關閉屏幕接近傳感器被激活? – ammcom