当前位置: 代码迷 >> Android >> Android有关问题-Android OnSensorChanged() not working when screen lock is on
  详细解决方案

Android有关问题-Android OnSensorChanged() not working when screen lock is on

热度:470   发布时间:2016-05-01 11:03:49.0
Android问题----Android OnSensorChanged() not working when screen lock is on

Some of the Android OS versions have a bug which stops the sensors such as the accelerometer recording when the screen lock is on.

The bug has been submitted but has not been fixed in all instances

http://code.google.com/p/android/issues/detail?id=3708

http://code.google.com/p/android/issues/detail?id=11028

Below is a list of Phones and OS versions the do and don’t have the bug + some are reported to be intermittent.

BugNo BugIntermittent
Motorola Milestone – 2.1Google Nexus One – 2.2Google Nexus One – 2.2
Nexus One – 2.1T-Mobile G1 – 1.6
HTC Desire – 2.2Google ION – 1.6
HTC EVO 4G – 2.2 
Motorola Droid – 2.2 
HTC Eris – 2.2 
Droid Incredible – 2.2 
HTC Legend 2.1
HTC Wildfire 2.2

Update: There are a couple of workarounds that i have found

The first works for all phones but is a drain on the battery and involves keeping the screen on all the time. It changes the timeout of the screen to a higher number:

http://stackoverflow.com/questions/1114270/android-screen-timeout

The second seems to only work on some phones such as the Milestone and Droid which registers the sensor, then un-registers the sensor when the screen is off and re-registers the sensor. Long winded but if it works…

http://stackoverflow.com/questions/2143102/accelerometer-stops-delivering-samples-when-the-screen-is-off-on-droid-nexus-one

If you enjoyed this post, make sure you subscribe to my RSS feed!
  相关解决方案