如何让Android设备在没有唤醒锁定的情况下保持与Internet的TCP连接?
作者:互联网
我希望我的应用程序通过移动连接连接到服务器,但允许设备进入睡眠模式.我希望它能在IP包装到来时醒来.
如何才能做到这一点?如何在不耗尽电池的情况下从互联网接收“中断”?
解决方法:
当您从tcp流读取时被阻止时,设备可以进入深度睡眠状态,当tcp流量进入时,它会短暂唤醒设备,只要读入一点,就会启动唤醒锁,直到您收到整个传输然后释放它.
这是一个使用网络套接字的示例,我在后台运行此应用程序超过12小时,没有电池影响.
https://github.com/schwiz/android-websocket-example
客户端在这里,阻塞读取在start方法中.
https://github.com/schwiz/android-websockets/blob/master/src/com/codebutler/android_websockets/HybiParser.java
标签:wakelock,android,networking,standby 来源: https://codeday.me/bug/20190928/1826720.html