1.Android中广播分为两种类型:
  1)标准广播:完全异步执行的广播,在广播发出后,所有的广播接收器几乎会在同一时刻接收到,它们之间没有顺序可言,效率高,不可截断;
  2)有序广播:同步执行的广播,广播发出后,同一时刻只会有一个广播接收器能够接收到的广播,当这个广播接收器中的逻辑执行完毕之后,广播才能继续传播,有序,可截断;
2.注册广播的两种方法:
  1)动态注册:在代码中注册,需要程序先启动后才开始工作;
  2)静态注册:在配置文件 AndroidManifest.xml 中注册,程序不启动的时候也可以接收广播;
3.动态注册自定义广播步骤:
  1)创建 MyBroadcastReceiver 类,继承 BroadcaseReceiver 类, 并重写 onReceive() 方法;
  2)创建 IntentFilter 类实例 intentFilter, 该类主要存放广播接收器需要接收的广播类型,调用 addAction() 方法添加;
  3)注册自自定义广播:registerReceiver(myBroadcastReceiver, intentFilter);
  4)活动销毁时需要取消注册:在 onDestroy() 方法中调用 unregisterReceiver(myBroadcastReceiver);
4.静态注册广播接收器:
  1)创建 MyBroadcastReceiver 类,继承 BroadcaseReceiver 类, 并重写 onReceive() 方法;
  2)在 AndroidManifest.xml 中添加 <receiver> 标签,并指定 name 属性为自定义广播接收器类的全类名;
5.在重写的广播接收器 onReceive() 方法内,以避免出现耗时的操作,否则可能引起程序崩溃;
6.发送自定义广播:
  1)创建和注册自定义广播接收器,用于接收自定义广播;
  2)创建 Intent 实例 intent,指定自定义广播类型;
  3)在活动中调用 sendBroadcast(intent) 方法发送自定义广播;
  注:这里 sendBroadcast() 方法发送的是标准广播;
7.发送有序广播:
  1)具体步骤与上述类似,只是在发送广播的时候调用 sendOrderedBroadcast() 方法;
  2)可以给 广播接收器设置不同的优先级 priority ,优先级高的接收器将先接收到广播;
  3)先接收到广播的接收器可以调用 abortBroadcast() 方法来截断广播,这样后续的广播接收器将不再收到广播;
8.本地广播的使用:本地广播只能够在应用程序内部使用,它发出的广播将不会被其他应用程序接收,这样能够解决应用数据的安全性问题;
  1)本地广播的使用与全局广播类似,只是在(取消)注册的注册时候是通过 LocalBroadcastManager 的 [un]registReceiver()方法来注册(取消);
  2)本地广播只能在程序内部注册,而不能在 AndroidManifest.xml中注册;

Android--广播机制的更多相关文章

  1. Android随笔之——Android广播机制Broadcast详解

    在Android中,有一些操作完成以后,会发送广播,比如说发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理.这个广播跟我们传统意义中的电台广播有些相似之处.之所以叫做广播,就 ...

  2. Android广播机制的深入学习

    部分内容转载自http://www.cnblogs.com/lwbqqyumidi/p/4168017.html 1.Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者 ...

  3. Android总结篇系列:Android广播机制

    1.Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器).广播作为Android组件间的通 ...

  4. Android广播机制概述

    1.Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器).广播作为Android组件间的通 ...

  5. Android广播机制:Broadcast

    转载:Android总结篇系列:Android广播机制 1.Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广 ...

  6. Android(java)学习笔记172:BroadcastReceiver之 Android广播机制

    Android广播机制 android系统中有各式各样的广播,各种广播在Android系统中运行,当"系统/应用"程序运行时便会向Android注册各种广播.Android接收到广 ...

  7. Android广播机制(转)

    1.Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器).广播作为Android组件间的通 ...

  8. Android广播机制

    原文出处: Android总结篇系列:Android广播机制 1.Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的 ...

  9. Android(java)学习笔记115:BroadcastReceiver之 Android广播机制

    Android广播机制 android系统中有各式各样的广播,各种广播在Android系统中运行,当"系统/应用"程序运行时便会向Android注册各种广播.Android接收到广 ...

  10. Android广播机制简介

    为什么说Android中的广播机制更加灵活呢?这是因为Android中的每个应用程序都可以对自己感兴趣的广播进行注册,这样该程序就只会接收到自己所关心的广播内容,这些广播可能是来自于系统的,也可能是来 ...

随机推荐

  1. MVC导出Excel,提供下载Excel

    类1: using System.Collections.Generic;using System.Data;using System.Web.Mvc;using System.IO;using Sy ...

  2. 第五百八十六天至第六百零五天 how ccan I 坚持

    考研中,勿扰... 我是个逗比,哈哈. 时间不够用了呢,哎.

  3. IOleItemContainer的接口定义

      IOleItemContainer的接口定义

  4. MySQL_杭州11月销售昨日未上架的SKU_20161212

    #C034杭州11月销售昨日未上架的SKU SELECT 城市,a.订单日期,a.客户数,a.订单数,b.产品数,a.金额,c.销售确认额,c.毛利额,c.毛利率 FROM ( SELECT 城市,订 ...

  5. 删除多余的provisioning profile

    当你的工程中有个人证书和企业证书时,你xCode打包的时候可能会发现一个问题:当你的Code Signing设置iOS Developer和Automatic,并且你的Bundle ID和Team选择 ...

  6. SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。

    今天单位一ASP.NET网站,里面有个功能是导出数据,发现一导出就报错,报错内容是:SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT ...

  7. java.lang.UnsupportedClassVersionError: xxx/xxxClass : Unsupported major.minor version 51.0

    完全参考自 http://www.cnblogs.com/xing901022/p/4172410.html 这种错误的全部报错信息: 1 java.lang.UnsupportedClassVers ...

  8. C语言学习笔记(一)_hello world

    一.建立一个文件a.c,写入: #include <stdio.h> //使用printf库函数之前,必须include <stdio.h>int main()//main函数 ...

  9. oracle 同时更新(update)多个字段多个值

    --创建表A,B: create table A (a1 varchar2(33),a2 varchar2(33),a3 varchar2(33)); create table B (b1 varch ...

  10. [原创]Matlab获取当前时间信息

    本文主要介绍下Matlab中如何获取当前时间的一些方法. 基本变量date.now.clock date 按照日期字符串返回当前系统时间 now 按照连续的日期数值返回当前系统时间 clock按照日期 ...