广播的类型:

1、标准广播(Normal broadcat)

  完全异步执行的广播,所有广播接收器同一时间接收广播消息。

  效率高,但无法被截断。

2、有序广播

  同步执行的广播,同一时刻只能有一个广播接收器接收广播消息,当执行完毕后才会继续传递。

  优先级高的先收到广播,并且可以截断广播。

接收系统广播:

  注册:动态注册(代码)和静态注册(AndroidaManifest.xml)

动态广播:

  1、继承Broadcastreceiver

  2、重写onReceive()方法

  3、注册registerReceiver()

  4、动态注册的广播接收器一定要取消注册,unregisterReceiver()

  5、声明权限在AndroidManifest.xml中

静态广播接收器在AndroidManifest.xml中通过<receiver>标签进行注册,

<receiver android:name=".BootCompleteReceiver ">
  <intetn-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED">   //开机广播
  </intent-filter>
</recevier>

  广播接收器中不允许开启线程,不要添加过多逻辑或进行任何耗时操作。

自定义广播:

  1、标准广播:

  (1)定义一个广播接收器

  (2)在事件里加入自定义广播的逻辑

  (3)构建Intent对象,传入要发送的广播的值

  (4)调用sendBroadcast()方法,发送广播

  (5)在AndroidManifest.xml中<receiver>注册

  2、有序广播:

  基本与标准广播一样,发送调用sendOrderedBroadcast()方法。

  在AndroidManifest.xml中设置优先级<intent-filter android:priority="100">

  截断广播调用abortBroadcast()方法

本地广播:(解决安全性问题)

  使用LocalBroadcastManager对广播进行管理。

  (1)通过LocalBroadcastManager.getInstance(this)获取他的实例

  (2)构建LocalReceiver类

  (3)通过LocalBroadcastManager的registerReceiver()方法进行动态注册。方法中包含2个参数localReceiver和intentfilter

  (4)调用LocalBroadcastManager的sendBroadcast()方法进行发送广播

  (5)在onDestroy()方法中取消注册

  本地广播无法使用静态注册的方式来接收。

广播Broadcast Receiver的更多相关文章

  1. Android中Intent具体解释(二)之使用Intent广播事件及Broadcast Receiver简单介绍

    通过第一篇的解说,我们已经看到了怎样使用Intent来启动新的应用程序组件,可是实际上他们也能够使用sendBroadcast方法来在组件间匿名的广播消息. 作为一个系统级别的消息传递机制,Inten ...

  2. Android笔记(五):广播接收者(Broadcast Receiver)

    Android有四大组件,分别为:Activity(活动).Service(服务).Content Provider(内容提供器).Broadcast Receiver(广播接收者). 引入广播的目的 ...

  3. 第九章:四大组件之Broadcast Receiver

    第九章:四大组件之Broadcast Receiver   一.广播的功能和特征 广播的生命周期很短,经过调用对象-->实现onReceive-->结束,整个过程就结束了.从实现的复杂度和 ...

  4. Android Broadcast Receiver 使用入门

    Broadcast Receiver 的使用        1.Broadcast Receiver简介        2.Broadcast Receiver接收系统自带的广播        3.自 ...

  5. android 四大组件Broadcast Receiver

    本文介绍Broadcast Receiver,包括几部分内容:Broadcast Receiver概述及实例.自定义Broadcast Receiver.Broadcast Receiver的实现细节 ...

  6. 9、四大组件之四-Broadcast Receiver

    课程目标: 了解Android消息机制 掌握Broadcast发送消息的两种类型 掌握BroadcastReceiver接收消息的编程 重点难点: sendOrderedBroadcast()的理解 ...

  7. android的Broadcast receiver

    broadcast receiver是用来监听intent的. android大量使用了broadcast receiver,比如:开机.电话打进来.发送消息,手机电量过低 有两种方式注册broadc ...

  8. Android学习笔记--广播(Broadcast)

    1.Android广播分类 android的广播类型分为两类:标准广播和有序广播. 标准广播:异步广播,广播发出后,所有注册了的广播接收器都会同时接收到该广播.打个比方:做地铁过程中的语音播报,当列车 ...

  9. Android Broadcast Receiver注册

    之前有关 Broadcast Receiver的链 动态注册 1.我们新建一个广播接受类,我们创建一个内部类让他继承BroadcastReceiver,并且重新其中当有广播来到时执行的方法onRece ...

随机推荐

  1. LeetCode First Unique Character in a String

    原题链接在这里:https://leetcode.com/problems/first-unique-character-in-a-string/ 题目: Given a string, find t ...

  2. Python爬虫爬取百度贴吧的帖子

    同样是参考网上教程,编写爬取贴吧帖子的内容,同时把爬取的帖子保存到本地文档: #!/usr/bin/python#_*_coding:utf-8_*_import urllibimport urlli ...

  3. PHP 使用编码树,生成easyui中的tree样式

    生成树的时候,数据库中一般设计的都为无级数,即为:父子节点的树,例如:基本的数据表设计为: nodecode 节点编码 parentnodecode 父节点编码 nodename  节点名称 这样的形 ...

  4. 使用Quicktime 实现视频直播(Live video using Quicktime) (转)

    Quicktime是一个跨浏览器的播放插件,可以实现RTSP视频直播,可用于电视直播或视频监控平台.本文主要讲了关于播放器如何实现直播.事件响应.播放器全屏.动态修改播放路径等问题. 需要准备的软件: ...

  5. java布局学习 (二)

    前文中介绍了FlowLayout和BorderLayout 本文我们将会继续介绍java中的布局方式 (3)GridLayout 网格布局 这种布局会将整个容器划分成M行*N列的网格. 如下图:    ...

  6. 数据绑定控件之Repeater

    引言 前几篇的文章在说AJAX的内容,利用AJAX技术能够开发出高效运行的网站应用程序,不过在进行B/S项目开发时只拥有AJAX技术是远远不够的,踏入到B/S要学的东西会更多,但相较C/S的复杂逻辑结 ...

  7. 基于spring+quartz的分布式定时任务框架

    问题背景 我公司是一个快速发展的创业公司,目前有200人,主要业务是旅游和酒店相关的,应用迭代更新周期比较快,因此,开发人员花费了更多的时间去更=跟上迭代的步伐,而缺乏了对整个系统的把控 没有集群之前 ...

  8. MySql中文乱码

    [mysqld]## UTF 8 Settings#init-connect=\'SET NAMES utf8\'collation_server=utf8_unicode_cicharacter_s ...

  9. Sublime一键预览

    //chrome{ "keys": [ "f12" ], "command": "side_bar_files_open_with ...

  10. Lucene热词显示并选择

    利用Jquery easyui里的autocomplete(1.10.0版本) 的异步请求(remot.html) 添加引用 <script src="~/Scripts/jquery ...