我有一些代码可以扩展服务并在Android上记录onSensorChanged(SensorEvent事件)加速计传感器读数.我希望能够记录这些传感器读数,即使设备关闭(我对电池寿命非常小心,并且在运行时显而易见).虽然屏幕上的日志工作正常,但在2.0.1 Motorola Droid和2.1 Nexus One上.
但是,当手机进入休眠状态时(通过按下电源按钮),屏幕关闭,onSensorChanged事件停止传送(每隔N次使用一次Log.e消息进行验证onSensorChanged).
该服务获取wakeLock以确保它在后台运行; 但是,它似乎没有任何影响.我已经尝试了各种各样的PowerManager.唤醒锁,但它们似乎都不重要.
_WakeLock = _PowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
_WakeLock.acquire();
Run Code Online (Sandbox Code Playgroud)
关于在屏幕关闭时你是否能真正从传感器获取数据的报道相互矛盾......任何人都对更现代版的Android(Eclair)和硬件有任何经验吗?
这似乎表明它在Cupcake中工作:http: //groups.google.com/group/android-developers/msg/a616773b12c2d9e5
PS:完全相同的代码在G1上的1.5中按预期工作.当屏幕关闭,应用程序在后台等时,记录继续.