服务中的方向监听器

时间:2012-05-01 09:24:11

标签: java android orientation listener sleep

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

这是BackgroundThread:

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

This question应该回答你的问题。它指向this article,解释了如何知道屏幕何时开启和关闭。