Android 后台如何一直保留访问网络的权限? App 进入后台之后过了几分钟就不能 http post 了

2016-05-11 15:10:31 +08:00
 WildCat
用 BroadcastReceiver 接收到短信后通过 http 转发到我的服务器,但是 App 进入后台一段时间后就不能访问网络了。
测试手机是小米,权限设置里允许后台运行,而且没有禁止后台联网。

是不是需要调用一个 Service 来 post 数据呢?
12643 次点击
所在节点    Android
7 条回复
flyingghost
2016-05-11 15:34:46 +08:00
需要一个 service 。
receiver 在主线程方法执行完毕后进程就被停了,网络操作没机会跑了。
WildCat
2016-05-11 15:43:58 +08:00
@flyingghost receiver 和 service 之间如何通信? intent 吗?
不知道怎么搜,能否提供相关 keywords ?
ruiwen
2016-05-11 15:51:25 +08:00
如果只是提交数据给服务器不关心结果的话,直接在 receiver 里面请求 IntentService 就可以了
quix
2016-05-11 15:56:33 +08:00
5.0 以上系统需要创建一个常驻通知
miao1007
2016-05-11 19:27:43 +08:00
BroadcastReceiver 在很多机子上都是不行的,需要服务常驻+ contentprovider
sonaive
2016-05-12 09:26:54 +08:00
试试 Sync adapter
hinkal
2016-05-14 11:57:06 +08:00
建一个 service ,里面注册 receiver 就可以了,因为 service 常驻内存

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

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

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

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

© 2021 V2EX