前台服务是否保留睡眠模式(非打ze模式)?

时间:2018-12-14 23:23:21

标签: android android-service android-doze-and-standby

因此,我在打about睡期间阅读了很多有关android服务及其生命周期的文章。

到目前为止:

后台服务受打ze模式的限制。

前景服务不受打ze模式的影响。意味着他们继续拥有访问网络等。

关于打ze模式和前台服务的文章很多,但都没有提到睡眠模式启动后前台服务会发生什么。

  

睡眠模式-表示CPU处于睡眠状态,将不接受任何睡眠模式   RIL(无线电接口层)和警报除外。 CPU会走   LCD关闭后几秒钟即可进入睡眠模式。

     

打ze模式-表示您手机上的应用将无法访问网络,   当应用尝试保留设备时,系统将忽略“唤醒锁”   从睡觉开始,并且不允许后台任务运行。   这肯定会让您听起来听不到手机的好处,   但是Doze保留了几种保留功能的方法。虽然应用   无法唤醒设备以运行同步作业和其他后台任务,   高优先级的推送消息仍会显示。因此,例如   环聊消息将出现在处于打ze模式的设备上。

     

应用待机-进入待机状态的应用将失去所有网络访问权限   并且其所有后台同步作业均被暂停。这些限制是   插入手机并等待几分钟后暂时提起   每天一两天。这使暂停的应用程序有机会运行任何   待处理的同步作业,但将不允许它们继续运行。一种   高优先级推送通知也将能够从中唤醒应用   待机一会儿。

问题:

  1. 前台服务在睡眠模式下也会暂停吗?如果是,他们是重新启动还是从中断处继续?
  2. 启用前台服务后,设备是否甚至进入睡眠模式?

2 个答案:

答案 0 :(得分:0)

在打ze和待机期间,前台服务仍然有效。我检查了我的应用程序是带有tcp套接字的本地代理。但是...网络模块即将进入睡眠状态。我的代理继续工作,端口保持打开状态,但是由于待机期间网络处于睡眠状态,因此无法连接到网络。简单的电源按钮-起伏不定,数据包开始发出。现在以编程方式在连接超时条件下搜索唤醒设备

答案 1 :(得分:-2)

睡眠模式与打ze模式相同。由于前台服务不受打ze模式的影响,因此使用前台服务应该可以。

Ex:使用前台服务运行歌曲