1

我正在编写一个在 BackgroundThread 中启用 OrientationEventListener 的粘性服务。目前,监听器通过 onDestroy() 和/或手动停止服务时被禁用,但在设备进入睡眠状态时它保持活动状态。我猜这会影响电池,因为 SensorManager 保持活动状态。如何在设备进入睡眠状态时停止服务(或禁用监听器)并在打开设备时再次启动服务(或启用监听器)?

这是背景线程:

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();
        }
    }
}

谢谢你的帮助!

4

1 回答 1

1

这个问题应该回答你的。它指向这篇文章,解释了如何知道屏幕何时打开和关闭。

于 2012-05-01T09:45:32.623 回答