WildCat
V2EX  ›  Android

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

  •  
  •   WildCat · May 11, 2016 · 16385 views
    This topic created in 3665 days ago, the information mentioned may be changed or developed.
    用 BroadcastReceiver 接收到短信后通过 http 转发到我的服务器,但是 App 进入后台一段时间后就不能访问网络了。
    测试手机是小米,权限设置里允许后台运行,而且没有禁止后台联网。

    是不是需要调用一个 Service 来 post 数据呢?
    7 replies    2016-05-14 11:57:06 +08:00
    flyingghost
        1
    flyingghost  
       May 11, 2016 via iPhone   ❤️ 1
    需要一个 service 。
    receiver 在主线程方法执行完毕后进程就被停了,网络操作没机会跑了。
    WildCat
        2
    WildCat  
    OP
       May 11, 2016
    @flyingghost receiver 和 service 之间如何通信? intent 吗?
    不知道怎么搜,能否提供相关 keywords ?
    ruiwen
        3
    ruiwen  
       May 11, 2016   ❤️ 2
    如果只是提交数据给服务器不关心结果的话,直接在 receiver 里面请求 IntentService 就可以了
    quix
        4
    quix  
       May 11, 2016   ❤️ 1
    5.0 以上系统需要创建一个常驻通知
    miao1007
        5
    miao1007  
       May 11, 2016   ❤️ 1
    BroadcastReceiver 在很多机子上都是不行的,需要服务常驻+ contentprovider
    sonaive
        6
    sonaive  
       May 12, 2016
    试试 Sync adapter
    hinkal
        7
    hinkal  
       May 14, 2016
    建一个 service ,里面注册 receiver 就可以了,因为 service 常驻内存
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   944 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 19:00 · PVG 03:00 · LAX 12:00 · JFK 15:00
    ♥ Do have faith in what you're doing.