近些年的 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 似乎影响不大?

大不了冰箱冻结,speedtest 等 APP 需要什么推送呢,又不经常用。

看到第一段我就觉得,直接小黑屋/冰箱把应用冻住不就得了

我基本不开通知

要是国产 App ,前 3 楼已经开喷了,呵呵

难不成要 fcm 跟国内定制系统的 push 一样,设置个白名单?那样肯定更多人反对了。

再说了,现在最新版本的安卓,只要不开通知权限,再把电池策略设置为限制,基本就唤醒不了了,只有系统白名单的才能唤醒,比如小而美、企鹅、pdd 这些。

我始终不明白装 speedtest 有什么用途

国产三星的深度睡眠感觉就是内置的冰箱,很牛逼。唯一的缺点就是冻结的应用没办法在 google play 更新,需要先启动一下,然后再打开 play 商店检查更新,但是三星自己的应用商店不受影响,睡眠状态也可以正常进行检查更新和更新

是的,就是内置的冰箱

SpeedTest 只是举个例子,说明有这种乱搞的途径

不开通知权限&电池策略设置为限制,不知道能不能压住 FCM 进来的数据消息?

你可能下载错了吧, Speedtest by Ookla 在 play 商店有 play.google.com/store/apps/details?id=org.zwanoo.android.speedtest&hl=en_US&pli=1

就是这个啊,我说的是 APKPure 不在 Play 商店里面,好好审题。

APKPure 是某讯公司出海产品,懂的都懂

嗯?据说小米会在锁屏后断开 FCM 的长连接,不知道真假。

一直想找一个推送服务,程序报警等等可以第一时间给手机推送(尽量免费,又要实时),之前用某推送平台,但它被小米应用商店下架了,导致没法走小米的推送。如果可用 FCM 的话好像不错噢

还有人洗国产 app ,什么劣根性

那就 apkmirror

play 的微信收到 fcm 的广播了也不马上拉起来,导致经常延迟收到消息

我这里其实不想针对某个 APP ,而是举个例子,说明这种流氓的可能性,毕竟有一个可以这么搞,别的都可以这么搞。

有的会的,fcmfix 这个 lsposed 模块其中一个作用就是修这事。

我一般是除了 im email 类的 app 之外,其他 app 都不给通知权限的,所以手机一直没有什么广告,并且手机也 root 了用 thanox 压制 app 的自启动和后台,达到接近 iOS 的效果,目前折腾完了之后使用体验还是挺不错的