文档章节

四大组件之广播

火文乐武
 火文乐武
发布于 2016/05/18 22:14
字数 369
阅读 11
收藏 0

静态广播与动态广播:

1、动态注册的广播永远要快于静态注册的广播,与优先级无关

2、动态注册的广播不是常驻类型,随activity生命周期。注册时,应该在生命周期结束前进行移除。

静态注册的广播是常驻型,当应用程序关闭时,如果有信息广播来,程序也会被系统调用运行。

静态注册:

在清单列表中注册:

 <receiver android:name="com.example.day2201.MyReceiver">
            <intent-filter >
                <action android:name="aaa"/>
            </intent-filter>
        </receiver>

在代码中继承BroadcastReceiver

@Override
	public void onReceive(Context context, Intent intent) {

		String action = intent.getAction();
		if ("aaa".equalsIgnoreCase(action)) {
			String key = intent.getStringExtra("key");
			Toast.makeText(context, "the value is:" + key, Toast.LENGTH_LONG)
					.show();
		}
	}

动态注册

protected void onResume() {
		//	实例化一个receiver对象
		receiver = new MyReceiver();
		
		//	实例化一个IntentFilter对象(等同于manifest中的intent-filter节点)
		IntentFilter filter = new IntentFilter();

		//	filter中添加action,等同于在intent-filter节点中添加action节点
		filter.addAction("zz1603");
	
		//	实现注册,将receiver对象在过滤条件为filter时触发,(action== zz1603)
		registerReceiver(receiver, filter);
		super.onResume();
	}

2、取消

protected void onPause() {
		
		//	判断receiver对象是否为空,如果不为空则取消注册,只需要receiver对象
		if (receiver != null) {
			unregisterReceiver(receiver);
		}
		super.onPause();
	}

 

order:主要是将接收改为getResultExtras(),能够实现广播的篡改

public class MyReceiver02 extends BroadcastReceiver{

	@Override
	public void onReceive(Context context, Intent intent) {
		String action = intent.getAction();
		
		if("zz1603order".equalsIgnoreCase(action)){
			String content = intent.getStringExtra("key");
			
			Bundle bundle = getResultExtras(true);
			
			bundle.putString("order", "i am the changed data");
			
			setResultExtras(bundle);
			
			Toast.makeText(context, " my receiver 02, content = " + content, Toast.LENGTH_LONG).show();
		}
	}

 

 

 

© 著作权归作者所有

共有 人打赏支持
火文乐武
粉丝 7
博文 38
码字总数 17183
作品 0
郑州
Android工程师
要点提炼|开发艺术之四大组件

提到四大组件大家肯定再熟悉不过了,本篇侧重于对四大组件工作过程的分析: 概述 工作过程 Activity Service BroadcastReceiver ContentProvider 1.概述 a.Activity 类型:展示型组件。 作用...

minmin_1123
2017/12/27
0
0
Android面试笔记基础篇

基础一:安卓四大组件。 问题一:安卓四大组件是什么?应该怎么描述它们?生命周期?优先级? 答:四大组件就是Activity Service BroadCastReciver ContentProvider Activity:与用户交互等界...

一阵啪啪啪
01/15
1
0
Android 四大组件(四)BroadcastReceiver

转载请注明出处:http://blog.csdn.net/vnanyesheshou/article/details/75449100 Andorid四大组件Activity、Service、ContentProvider都已经总结了,详情可以参考如下: Android 四大组件(一...

VNanyesheshou
2017/07/20
0
0
android四大组件(详细总结)

android四大组件分别为activity、service、content provider、broadcastreceiver。 一、android四大组件详解 1、activity (1)一个Activity通常就是一个单独的屏幕(窗口)。 (2)Activit...

Sheamus
2015/09/28
38
0
Android四大组件(详细总结)

Android四大组件分别为activity、service、content provider、broadcast receiver。 一、Android四大组件详解 1、activity (1)一个Activity通常就是一个单独的屏幕(窗口)。 (2)Activit...

天蚕宝衣
2016/06/28
71
0

没有更多内容

加载失败,请刷新页面

加载更多

一个可能的NEO链上安全随机数解决方案

0x00 困境 链上安全随机数生成应该算是一个比较蛋疼的问题,哪怕你的系统再牛逼,合约程序困在小小的虚拟机里,哪怕天大的本事也施展不开。 更悲催的是,交易执行的时候,是在每一个节点都执...

暖冰
今天
1
0
【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
4
0
Spring5对比Spring3.2源码之容器的基本实现

最近看了《Spring源码深度解析》,该书是基于Spring3.2版本的,其中关于第二章容器的基本实现部分,目前spring5的实现方式已有较大改变。 Spring3.2的实现: public void testSimpleLoad(){...

Ilike_Java
今天
1
0
【王阳明心学语录】-001

1.“破山中贼易,破心中贼难。” 2.“夫万事万物之理不外于吾心。” 3.“心即理也。”“心外无理,心外无物,心外无事。” 4.“人心之得其正者即道心;道心之失其正者即人心。” 5.“无...

卯金刀GG
今天
2
0
OSChina 周三乱弹 —— 我们无法成为野兽

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ _刚刚好: 霸王洗发水这波很骚 手机党少年们想听歌,请使劲儿戳(这里) hahahahahahh @嘻酱:居然忘了喝水。 让你喝可乐的话, 你准忘不了...

小小编辑
今天
19
2

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部