Android待机情况下无法发送心跳包

我要在App端实现与服务器间的长连接,使用的是谷歌的Netty,在待机后2分钟左右,Cpu进去深度睡眠,心跳包的收发都不行,这个要怎么解决呀

让程序定时唤醒,这个问题还可以参考下即时通信软件的做法。

发送心跳包是写在service里面的吗

你的安卓系统是什么版本,6.0有墓碑机制,后台会被强制休眠,miui也有神隐模式,限制后台联网,最好让手机保持屏幕常亮,在需要一直发送心跳包时。现在各种定制系统都在限制后台软件联网等,优化耗电等。

非要的话,可以用powermanager禁用CPU休眠,不过会造成电量很快耗尽。另外需要添加“阻止休眠”权限,这些原因可能会使用户体验下降