近些年的 Android 后台活动限制越来越厉害,不说国产安卓那种直接用“强制停止”机制,彻底压死 App 完全没有任何后台活动的机会。哪怕原生安卓,近几年也限得越来越死,从 Android8 开始,后台 Service 就只有几分钟的活动时间了,Broadcast Receiver 也不给乱搞了,Android11 还是 12 之后,JobService 也限制得越来越死,可能开个 JobService 一天也执行不了几次,再加上那个暂停执行机制,原生安卓其实普通 App 也没有太多后台乱搞的空间了。
但是,但是,但是,FCM 推送似乎没有执行次数的限制,通过*#*#GCM#*#*能看到,SpeedTest 这个 App 存在大量 FCM 推送,平均下来几分钟到十来分钟就有一次...但是并没有弹出真的消息,怀疑就是利用 FCM 来拉后台活动。APKPure 也是,尽管它没在 GooglePlay 上架,但并不妨碍它接入 FCM 并且利用 FCM 来搞事情。
国际版的三星还有个彻底限制后台 App 的模式,这模式有点类似国产机的压后台机制,推掉卡片之后就完全无法后台活动,别的 App 也拉不起。但是对于其它偏原生安卓的,比如 Moto ,Zenfone ,或者原生的 Pixel ,哪怕很多国内品牌的国际版系统,在无 root 的情况下,好像对这种毒瘤真的没啥办法?哪怕利用安卓原生的电池管理,把 App 设为“限制”模式,也只能压本地的 Service/JobService 这些行为,对于 FCM 似乎影响不大?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/1120004
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.