广播和通知的简单介绍

广播

     广播作为Android组建间的通信方式,分为广播发送者和广播接受者,BroadcastReceiver是广播接受者。广播使用了观察者模式,基于消息的发布/订阅事件模型。将发送者和接受者极大程度上解耦,是系统集成更方便,扩展更容易。

广播的执行流程:

           1.BroadcastReceiver注册;
           2.广播发送者发送广播;
           3.系统查找符合相应条件的BroadcastReceiver,将广播发送到BroadcastReceiver响应循环队列中;
           4.消息循环拿到此广播,回调BroadcastReceiver中的onReceive()方法。

应用场景:

            组件内部方法、类之间的消息传递
            组建之间的消息传递
            应用之间的消息传递

无序广播:

             效率高,所有接收者都能收到,接受消息的先后顺序不确定。

有序广播:

             接受广播者有先后次序,先后次序通过设置优先级来区别
             实现有序广播:
                  1.在项目清单文件中设置优先级
                  
                   

                  2.发送有序广播
  
                     Context.sendOrderedBroadcast(intent)

              特点:
                   优先级高的接收器先接受
                   相同优先级,动态注册的接收器先接受
                   相同优先级的静态注册的接收器,先注册的先接受

注册广播:            

              项目清单中注册:
                      常驻型,进程被回收后,仍可以接受广播。
               代码注册:
                       生命周期随所在组件。                 

BroadcastReceiver常用方法:

          广播和通知的简单介绍_第1张图片    

发送广播的相关方法:

           广播和通知的简单介绍_第2张图片

IntentFilter:

          IntenFilter类用于代码注册广播接受者,该类的作用相当于项目清单文件中的

          常用方法:
                 

通知

          通知是系统级的服务,通知的消息显示在状态栏,是一种全局效果的消息。
          使用通知:
                   广播和通知的简单介绍_第3张图片
                   广播和通知的简单介绍_第4张图片

应用场景:

             1.显示接收到短消息。即使消息等信息(如QQ、微信、短信、新浪);
             2.显示客户端的推送消息(如新版本发布、广告、推荐新闻等);
             3.显示正在进行的事物(如后台运行的程序、更新下载等);

PendingIntent:

             用于描述Intent及其最终行为。PendingIntent对象可以递交给其它应用程序,然后继续处理,这样可稍后才处理PendingIntent中描述的Intent及其最终行为。
              常用方法:
                     广播和通知的简单介绍_第5张图片

Notification的常用属性:

  广播和通知的简单介绍_第6张图片    
以上就是关于广播和通知的一些理论上的简单介绍。

你可能感兴趣的:(android知识结构)