首先,苹果比较简单。所有的app都是通过统一调用苹果的信息服务来推送的,也就是说它们的通知其实并不是自己发的,而是苹果的iOS系统推送的。点击这些消息后,应用程序实际上会被打开。一些国产手机系统还加入了自激活功能。比如华为EMUI小米的MIUI魅族的Flyme都有类似的功能。

为什么很多手机app在关闭自启,没有运行的情况下,还能发通知消息呢?

这个问题要分苹果和安卓两大系统来回答。首先苹果比较简单,所有APP的推送都是统一调用苹果的信息服务,也就是说它们的通知其实不是自己发出来的,而是苹果iOS系统推送的,点击这些消息之后,才会真正打开APP。这一做的好处显而易见,用户可以自己决定哪些APP可以推送,这些APP也不用常驻系统后台,平白消耗电量。

而安卓系统就比较复杂了。虽然谷歌也建立了类似苹果的消息推送统一框架,但是由于众所周知的原因,谷歌的服务器在国内是无法正常访问的,所以国内安卓手机的APP还是各自为战,并没有统一的消息推送渠道。那么一些必须在关闭的状态下也要发送和接受的应用比如微信要怎么做呢?最好的办法就是在用户退出之后,应用本身依然常驻在系统后台,这样有新消息的时候微信就可以在第一时间推送。

对于这样的应用,我们一般都会设置让它在系统后台常驻,否则就收不到微信消息了。不过大部分APP都没有即时消息的功能,完全没有必要实时挂在后台,很多潜伏在后台的APP大部分情况下都是推送一些不相关的新闻或者广告,让用户不胜其烦。所以现在很多国产安卓系统都具备了限制APP自启动的功能。但所谓道高一尺魔高一丈,很多APP为了各种利益,都不甘心被系统限制自启,会想方设法启动。

于是聪明的开发者们就想到了一个方法关联启动。简单来说就是当应用A启动的时候,与它相关联的应用B也会随之启动,并且产生连锁反应,应用CDE也都启动了。其实很多应用开发者并没有刻意去唤醒其它应用,但是不少国内开发者在开发手机应用的时候,为了方便会使用一些现成的开发工具,比如阿里就推出了全套的安卓系统开发工具。

这些工具虽然是免费的,但使用后会付出相应的代价,即使用这些开发工具的应用会在用户点击启动时启动阿里家庭桶。所以很多时候我们打开一些应用,淘宝和支付宝都会推送消息。一些国产手机系统还加入了自激活功能。比如华为EMUI小米的MIUI魅族的Flyme都有类似的功能。但由于关联自启动涉及底层代码,即使操作系统屏蔽,效果也不明显。


文章TAG:为什么禁止通知的app  通知  app  能发  禁止  
下一篇