我正在编写一个在 BackgroundThread 中启用 OrientationEventListener 的粘性服务。目前,监听器通过 onDestroy() 和/或手动停止服务时被禁用,但在设备进入休眠状态时它保持 Activity 状态。我猜这会影响电池,因为 SensorManager 保持 Activity 状态。如何在设备进入休眠状态时停止服务(或禁用监听器)并在打开设备时再次启动服务(或启用监听器)?
这是背景线程:
private class BackgroundThread implements Runnable {
public void run() {
try {
while (isRunning){
orientListener.enable();
Thread.sleep(10000);
}
orientListener.disable();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
谢谢你的帮助!
最佳答案
This question应该回答你的。它指向 this article这解释了如何知道屏幕何时打开和关闭。
关于java - 服务中的方向监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10395792/