Android 黑屏后怎么保持网络通信?

2018-02-18 20:02:20 +08:00
 boywhp

测试发现黑屏后, 创建的后台服务通信线程基本上被冻结了, 直接不执行了!!! 很好奇微信和 QQ 是怎么做到黑屏后正常通信的? [华为荣耀 9 Android7 WIFI 环境下测试的]

我的程序使用了一个主通信循环, 自定义心跳机制(30s 无心跳服务端认为断线), 黑屏后直接没法用了, 网上找了一些资料:

  1. AlarmManager 但是好像也是各种坑
  2. PowerManager.PARTIAL_WAKE_LOCK, 但是我看微信好像没有申请这个权限啊?

Android 新手, 求大虾指点

15412 次点击
所在节点    Android
23 条回复
boywhp
2018-02-20 16:56:10 +08:00
@why1 后台服务冻结感觉无解了, 只要不杀就好了, 我现在的策略是冻结后唤醒立即执行通信重连
fengleidongxi
2018-02-21 10:13:59 +08:00
@boywhp 楼主通信的传输的是什么?
boywhp
2018-02-21 10:43:09 +08:00
@fengleidongxi 加密二进制数据报文, 不是 HTTP 哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/431161

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX