然而,当手机进入睡眠状态(通过按下电源按钮),屏幕关闭后,onSensorChanged事件停止传递(通过每N次onSensorChanged被调用使用Log.e消息进行验证)。
该服务获取wakelock以确保在后台保持运行状态,但似乎没有任何效果。我尝试过所有各种PowerManager.wake locks,但它们似乎都无关紧要。
_WakeLock = _PowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
_WakeLock.acquire();
关于在屏幕关闭的情况下是否可以从传感器获取数据一直存在争议... 有没有人在更现代的Android版本(Eclair)和硬件上有相关经验呢?
这似乎表明在Cupcake中可以正常工作: http://groups.google.com/group/android-developers/msg/a616773b12c2d9e5
PS:在G1上,完全相同的代码在1.5上按预期工作。当屏幕关闭、应用程序在后台等情况下,日志记录仍在继续。