一起Talk Android吧(第三百八十一回:通知的发送方式)
Posted talk_8
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起Talk Android吧(第三百八十一回:通知的发送方式)相关的知识,希望对你有一定的参考价值。
各位看官们,大家好,上一回中咱们说的是通知基本使用方法的例子,这一回中咱们介绍的例子是通知的发送方式。闲话休提,言归正转,让我们一起Talk android吧!
看官们,在上一章回中我们使用以下代码来发送消息,但是这段代码放到哪里却没有介绍,在本章回中介绍这段代码的存放位置,准确的说法叫:通知(Notification)的发送方式。在程序中常用的通知发送方式主要有内部通知、后台通知和云推送通知,接下来我们分别介绍它们。
mNotificationManager.notify(1,mNotification);
程序内部通知
这种通知发生于程序在前台运行过程中,可以通过某种条件来触发通知。因为程序还在前台运行,所以捕获触发消息的条件比较容易。比如大家使用新闻类App观看新闻时经常会收到程序推送的各种突发消息。如果新闻App被关闭了,并且关闭了在后台推送通知的功能,那么我们就不会收到新闻App推送的通知了。
程序后台通知
这种通知主要通过后台服务(service)来实现,即使程序被关闭了,但是后台还在运行程序相关的服务,可以在服务中给用户发送通知。不过现在Android对后台服务的限制越来越严格,再加上国内手机厂商也会限制后台服务,因此,后台服务经常被杀死,进而导致无法发送消息,总之这种方式不可靠。
云推送通知
云推送和程序后台发送通知的原理相同,不同之处在于后台的服务连接云服务器,由服务器控制发送通知的时间。云推送后台的服务一般是三方公司提供,比如国内常用的极光、微盟,以及手机厂商自己开发的推送,MiPush,HuaWeiPush等。
其实Android也有官方的云推送服务,只是国内无法使用,所以没有程序使用。关于官方的云推送服务,我们做一下历史性的回顾,最早使用的是C2DM服务,(cloud to device message的缩写),不过在2014年被废除了,后来改用GCM服务,到2018年时把GCM集成到了Firebase中,并且改名为FCM。现在如果想使用的话需要导入Firebase的依赖,具体操作我就不写了,大家可以参考官方的文档,文档是中文的,而且写的比较详细(有示例代码和图片),只是无法在国内使用FCM相关的服务。FCM不只可以用于Android程序中,它还可以用于ios和web程序中。
消息推送服务只是Firebase服务的一部分,它还支持各种分析和广告服务,大家可以参考官方文档。
看官们,关于Android中通知发送方式的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!
以上是关于一起Talk Android吧(第三百八十一回:通知的发送方式)的主要内容,如果未能解决你的问题,请参考以下文章
一起Talk Android吧(第三百八十八回:lifecycle)
一起Talk Android吧(第三百八十七回:LiveData)
一起Talk Android吧(第三百八十六回:ViewModel)