V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
WildCat
V2EX  ›  Android

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

  •  
  •   WildCat · 2016-05-11 15:10:31 +08:00 · 12112 次点击
    这是一个创建于 3125 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用 BroadcastReceiver 接收到短信后通过 http 转发到我的服务器,但是 App 进入后台一段时间后就不能访问网络了。
    测试手机是小米,权限设置里允许后台运行,而且没有禁止后台联网。

    是不是需要调用一个 Service 来 post 数据呢?
    7 条回复    2016-05-14 11:57:06 +08:00
    flyingghost
        1
    flyingghost  
       2016-05-11 15:34:46 +08:00 via iPhone   ❤️ 1
    需要一个 service 。
    receiver 在主线程方法执行完毕后进程就被停了,网络操作没机会跑了。
    WildCat
        2
    WildCat  
    OP
       2016-05-11 15:43:58 +08:00
    @flyingghost receiver 和 service 之间如何通信? intent 吗?
    不知道怎么搜,能否提供相关 keywords ?
    ruiwen
        3
    ruiwen  
       2016-05-11 15:51:25 +08:00   ❤️ 2
    如果只是提交数据给服务器不关心结果的话,直接在 receiver 里面请求 IntentService 就可以了
    quix
        4
    quix  
       2016-05-11 15:56:33 +08:00   ❤️ 1
    5.0 以上系统需要创建一个常驻通知
    miao1007
        5
    miao1007  
       2016-05-11 19:27:43 +08:00   ❤️ 1
    BroadcastReceiver 在很多机子上都是不行的,需要服务常驻+ contentprovider
    sonaive
        6
    sonaive  
       2016-05-12 09:26:54 +08:00
    试试 Sync adapter
    hinkal
        7
    hinkal  
       2016-05-14 11:57:06 +08:00
    建一个 service ,里面注册 receiver 就可以了,因为 service 常驻内存
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2471 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 15:55 · PVG 23:55 · LAX 07:55 · JFK 10:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.