广播Broadcast Receiver
广播的类型:
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的更多相关文章
- Android中Intent具体解释(二)之使用Intent广播事件及Broadcast Receiver简单介绍
通过第一篇的解说,我们已经看到了怎样使用Intent来启动新的应用程序组件,可是实际上他们也能够使用sendBroadcast方法来在组件间匿名的广播消息. 作为一个系统级别的消息传递机制,Inten ...
- Android笔记(五):广播接收者(Broadcast Receiver)
Android有四大组件,分别为:Activity(活动).Service(服务).Content Provider(内容提供器).Broadcast Receiver(广播接收者). 引入广播的目的 ...
- 第九章:四大组件之Broadcast Receiver
第九章:四大组件之Broadcast Receiver 一.广播的功能和特征 广播的生命周期很短,经过调用对象-->实现onReceive-->结束,整个过程就结束了.从实现的复杂度和 ...
- Android Broadcast Receiver 使用入门
Broadcast Receiver 的使用 1.Broadcast Receiver简介 2.Broadcast Receiver接收系统自带的广播 3.自 ...
- android 四大组件Broadcast Receiver
本文介绍Broadcast Receiver,包括几部分内容:Broadcast Receiver概述及实例.自定义Broadcast Receiver.Broadcast Receiver的实现细节 ...
- 9、四大组件之四-Broadcast Receiver
课程目标: 了解Android消息机制 掌握Broadcast发送消息的两种类型 掌握BroadcastReceiver接收消息的编程 重点难点: sendOrderedBroadcast()的理解 ...
- android的Broadcast receiver
broadcast receiver是用来监听intent的. android大量使用了broadcast receiver,比如:开机.电话打进来.发送消息,手机电量过低 有两种方式注册broadc ...
- Android学习笔记--广播(Broadcast)
1.Android广播分类 android的广播类型分为两类:标准广播和有序广播. 标准广播:异步广播,广播发出后,所有注册了的广播接收器都会同时接收到该广播.打个比方:做地铁过程中的语音播报,当列车 ...
- Android Broadcast Receiver注册
之前有关 Broadcast Receiver的链 动态注册 1.我们新建一个广播接受类,我们创建一个内部类让他继承BroadcastReceiver,并且重新其中当有广播来到时执行的方法onRece ...
随机推荐
- 定时器中实现数据库表数据移动的功能,Exception in thread "Timer-0" isExist java.lang.NullPointerException定时器中线程报错。
package com.shawnway.trade.marketdata.constants; import java.sql.SQLException; import java.util.Cale ...
- :active 为什么在ios上失效
:active是针对鼠标,而手机上是没有鼠标,而是touchstart,所以早成了ios上不兼容 解决方法是: window.onload = function(){ document.body.ad ...
- asp.net 自带的缓存
本文导读:在.NET运用中经常用到缓存(Cache)对象.有HttpContext.Current.Cache以及HttpRuntime.Cache,HttpRuntime.Cache是应用程序级别的 ...
- css补充、JavaScript、Dom
css补充: position: fixed:可以将标签固定在页面的某个位置 absolute+relative:通过两者的结合可以让标签在一个相对的位置 代码例子:(通过fixed标签将某些内容固定 ...
- JS Note1
1.JavaScript 简史 JavaScript 诞生于1995 年.当时,它的主要目的是处理以前由服务器端语言(如Perl)负责的一些输入验证操作 如今,JavaScript 的用途早已不再局限 ...
- lua UT测试工具
luaunit Luaunit is a unit-testing framework for Lua, in the spirit of many others unit-testing frame ...
- http缓存之304 last-modified,cache-control:max-age,Etag等
因最近客户端慢的问题,系统分析了下http协议缓存问题.本文主要记录总结http缓存相关知识. 1. 讨论涉及的要点 访问返回类 > 访问返回200 OK > 访问返回200 (from ...
- Molile App(HTTP/HTML)—Record and Analyze Traffic
- Android Activity 管理 (AppManager)(非原创)
AppManager 类: /** * 应用程序Activity管理类:用于Activity管理和应用程序退出 * */ public class AppManager { private ...
- Web攻防之XSS,CSRF,SQL注入
摘要:对Web服务器的攻击也可以说是形形色色.种类繁多,常见的有挂马.SQL注入.缓冲区溢出.嗅探.利用IIS等针对Webserver漏洞进行攻击.本文结合WEB TOP10漏洞中常见的SQL注入,跨 ...