微信关闭推送通知后,为什么还会接收消息推送?
这个问题要分苹果和安卓两大系统来回答。首先苹果比较简单,所有APP的推送都是统一调用苹果的信息服务,也就是说它们的通知其实不是自己发出来的,而是苹果iOS系统推送的,点击这些消息之后,才会真正打开APP。这一做的好处显而易见,用户可以自己决定哪些APP可以推送,这些APP也不用常驻系统后台,平白消耗电量。而安卓系统就比较复杂了。虽然谷歌也建立了类似苹果的消息推送统一框架,但是由于众所周知的原因,谷歌的服务器在国内是无法正常访问的,所以国内安卓手机的APP还是各自为战,并没有统一的消息推送渠道。那么一些必须在关闭的状态下也要发送和接受的应用(比如微信)要怎么做呢?最好的办法就是在用户退出之后,应用本身依然常驻在系统后台,这样有新消息的时候微信就可以在第一时间推送。对于这样的应用,我们一般都会设置让它在系统后台常驻,否则就收不到微信消息了。
不过大部分APP都没有即时消息的功能,完全没有必要实时挂在后台,很多潜伏在后台的APP大部分情况下都是推送一些不相关的新闻或者广告,让用户不胜其烦。所以现在很多国产安卓系统都具备了限制APP自启动的功能。但所谓“道高一尺魔高一丈”,很多APP为了各种利益,都不甘心被系统限制自启,会想方设法启动。于是“聪明”的开发者们就想到了一个方法:关联启动。简单来说就是当应用A启动的时候,与它相关联的应用B也会随之启动,并且产生连锁反应,应用C、D、E也都启动了。
其实很多应用开发者并没有刻意去唤醒其它应用,但是不少国内开发者在开发手机应用的时候,为了方便会使用一些现成的开发工具,比如阿里就推出了全套的安卓系统开发工具。这些工具虽然是免费的,但使用之后也会付出相应的代价,即使用这些开发工具的应用,在用户点击启动的时候,会关联启动“阿里全家桶”。所以很多时候我们打开一些应用的时候,淘宝、支付宝什么的都会推送消息。
一些国产手机系统也增加了关联自启的功能,比如华为EMUI、小米的MIUI、魅族的Flyme都有类似的功能。不过由于关联自启涉及到底层代码,所以即使操作系统进行封堵,效果也并不明显。所以想要彻底解决APP胡乱推送的问题,除了应用开发者自觉、自律之外,国家部门推动制定相关规定也很有必要。