V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
onceyoung
V2EX  ›  问与答

关于安卓后台的问题

  •  
  •   onceyoung · Aug 19, 2015 · 1772 views
    This topic created in 3905 days ago, the information mentioned may be changed or developed.

    我想做一个安卓后台的 service 用来做 app 的推送,但是发现只要 app 退出之后, service 也被系统杀死了,但我发现微信的服务可以常驻后台,并且清理内存(小米)之后,还能够继续保持后台运行。我目前已经尝试过如下:
    1. 修改 onStartCommand 的返回值为 START_STICKY
    2. 采用 startForeground 将 service 设置成 foreground
    但都做不到一直常驻后台的效果?有研究过相关的朋友能否指点一二,不胜感激。

    6 replies    2015-08-20 09:33:58 +08:00
    wy315700
        1
    wy315700  
       Aug 19, 2015
    remote service
    onceyoung
        2
    onceyoung  
    OP
       Aug 19, 2015
    @wy315700 指的是在 mainfest 里改 process name 让 service 成为 remote service 吗?这个方法我尝试过,页没有用。
    wy315700
        3
    wy315700  
       Aug 19, 2015
    @onceyoung 监听一系列系统事件,比如锁屏解锁什么的,然后唤醒
    onceyoung
        4
    onceyoung  
    OP
       Aug 19, 2015
    @wy315700 但是服务和 app 不都被杀掉了吗,这些事情应该也没有机会再去做了吧。我观察到微信的服务在清理之后确实是被杀掉了的,不过它自己自动重启了又,是不是用了类似守护进程一类的技术呢?
    wy315700
        5
    wy315700  
       Aug 19, 2015
    @onceyoung 就是监听事件把服务唤醒啊,
    snowspace
        6
    snowspace  
       Aug 20, 2015
    如果是内部使用的话加一个常驻的通知。操作系统目测会把常用的应用加入到白名单,可以手动加进去。
    或者如楼上所说监听各种事件唤醒,电量变化等等。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2675 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 263ms · UTC 15:57 · PVG 23:57 · LAX 08:57 · JFK 11:57
    ♥ Do have faith in what you're doing.