如何将监控光线传感器的后台android应用程序带到前台

如何将监控光线传感器的后台android应用程序带到前台,android,background,sensors,foreground,Android,Background,Sensors,Foreground,我刚开始安卓编程。 到目前为止,我有一个应用程序正在工作,它在onResume中开始监控光传感器,然后停止 在onDestroy中进行监视(故意不在onPause中),因为如果手机进入睡眠状态 在一些非活动之后,我想继续监视光传感器,以便能够在以下情况下作出反应: 电话在一个黑暗的地方。如果是,我想用UI实现一些功能。 实施此行为的正确方法是什么 提前谢谢 onDestroy()不是一个拥有任何核心逻辑的好地方,因为它不能保证被调用。只有当操作系统感觉需要更多内存时,才会发出此回调 这样做的一个

我刚开始安卓编程。 到目前为止,我有一个应用程序正在工作,它在onResume中开始监控光传感器,然后停止 在onDestroy中进行监视(故意不在onPause中),因为如果手机进入睡眠状态 在一些非活动之后,我想继续监视光传感器,以便能够在以下情况下作出反应: 电话在一个黑暗的地方。如果是,我想用UI实现一些功能。 实施此行为的正确方法是什么

提前谢谢

onDestroy()不是一个拥有任何核心逻辑的好地方,因为它不能保证被调用。只有当操作系统感觉需要更多内存时,才会发出此回调

这样做的一个好方法是在应用程序启动时启动一个进行监视的服务。根据您需要的功能类型,您可以使其具有粘性(或不粘性)。您可以使用广播将此信息传达给您的活动。这样,就可以使传感器部分与UI分离

如果你不打算这样做,这可能会对你有所帮助

好的,谢谢,但是我的活动是否能够在屏幕关闭并锁定的情况下在接收广播后再次显示op?请注意,我只想在应用程序处于活动状态时进行处理。因此,如果用户决定离开应用程序,所有处理都可能停止,我唯一关心的是睡眠/锁定屏幕。也许我应该改用Wakelock?