我有一个作为后台服务运行的应用程序,它执行了很多工作,其中包括侦听设备的作梦/睡眠意图,并维护一个用于维护设备状态的标志。
问题是作为android释放内存的一部分,系统杀死了许多应用程序。发生类似情况时,我的服务会自动重新启动(使用返回START_STICKY)。我还跟踪设备的最后状态。
所以这就是问题所在,设备进入梦境模式。我的应用程序收到设备正在做梦的意图,并且我将变量设置为dreaming = true。到目前为止,一切都很好。想象一下,作为内存释放过程的一部分,android杀死了我的应用程序。现在,用户在设备上执行了某些操作,并且android系统触发了DREAMING_STOPPED意图。这个意图由android触发后,我的应用程序重新启动。在这种情况下,我的应用程序无法理解该盒子是否处于梦想状态。
在这种情况下,有没有办法以编程方式获取设备的状态,该状态告诉我盒子是否仍在做梦/睡觉或处于活动状态?