2012-05-01 78 views
1

我正在写一个粘性服务,它使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(); 
     } 
    } 
} 

感谢您的帮助!

回答