在 Android 中使用 Activity, Service, Broadcast, BroadcastReceiver
活动(Activity) - 用于表现功能
服务(Service) - 相当于后台运行的 Activity
广播(Broadcast) - 用于发送广播
广播接收器(BroadcastReceiver) - 用于接收广播
Intent - 用于连接以上各个组件,并在其间传递消息
BroadcastReceiver
在
Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的
Broadcast进行过滤接受并响应的一类组件。下面将详细的阐述如何发送Broadcast和使用BroadcastReceiver过
滤接收的过程:
首
先在需要发送信息的地方,把要发送的信息和用于过滤的信息(如Action、Category)装入一个Intent对象,然后通过调用
Context.sendBroadcast()、sendOrderBroadcast()或sendStickyBroadcast()方法,把
Intent对象以广播方式发送出去。
当Intent发送以后,所有已经注册的BroadcastReceiver会检查注册时的
IntentFilter是否与发送的Intent相匹配,若匹配则就会调用BroadcastReceiver的onReceive()方法。所以当我
们定义一个BroadcastReceiver的时候,都需要实现onReceive()方法。
注册BroadcastReceiver有两种方式:
一种方式是,静态的在AndroidManifest.xml中用<receiver>标签生命注册,并在标签内用<intent-filter>标签设置过滤器。
另
一种方式是,动态的在代码中先定义并设置好一个
IntentFilter对象,然后在需要注册的地方调Context.registerReceiver()方法,如果取消时就调用
Context.unregisterReceiver()方法。如果用动态方式注册的BroadcastReceiver的Context对象被销毁
时,BroadcastReceiver也就自动取消注册了。
另外,若在使用sendBroadcast()的方法是指定了接收权限,则只有
在AndroidManifest.xml中用<uses-permission>标签声明了拥有此权限的
BroascastReceiver才会有可能接收到发送来的Broadcast。
同样,若在注册
BroadcastReceiver时指定了可接收的Broadcast的权限,则只有在包内的AndroidManifest.xml中
用<uses-permission>标签声明了,拥有此权限的Context对象所发送的Broadcast才能被这个
BroadcastReceiver所接收。
动态注册:
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(String);--为BroadcastReceiver指定action,使之用于接收同action的广播registerReceiver(BroadcastReceiver,intentFilter);
一般:在onStart中注册,onStop中取消unregisterReceiver
发送广播消息:extends Service
指定广播目标Action:Intent Intent = new Intent(action-String)
--指定了此action的receiver会接收此广播
需传递参数(可选) putExtra();
发送:sendBroadcast(Intent);
分享到:
相关推荐
android BroadcastReceiver 源码 学习
android BroadcastReceiver相关测试代码。我测试所用的。
Android BroadcastReceiver
android BroadcastReceiver两种注册方式:1.在AndroidManifest.xml中注册 2.在Activity中注册。两种注册BroadcastReceiver方法的比较: 现在我们了解了两种注册BroadcastReceiver的方法之后,需要考虑一下这两种方法...
主要为大家详细介绍了Android BroadcastReceiver接收收到短信的广播,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Android学习之BroadcastReceiver总结
Android下BroadcastReceiver的简单示例。详见博客:http://www.cnblogs.com/plokmju/p/android_BroadcastReceiver.html
上一次介绍了Android BroadcastReceiver的广播发送,这一次主要介绍有序广播的发送。
Android \BroadCastReceiver 最全的简介
Android四大组件之一,BroadcastReceiver的实例Demo。
android广播实现方式
Android BroadcastReceiver 广播的用法 用了一个简单的Dome举例
在Android开发应用过程中 Android BroadcastReceiver经常会用到,所以抽时间整理了一番,省的后续在用到的时候再去百度。 BroadcastReceiver几种常见监听 1.BroadcastReceiver监听拨号 <intent android:priority=...
Android-BroadcastReceiver高级应用,详细参见博客:http://www.cnblogs.com/plokmju/p/android_SystemBroadcastReceriver.html
主要介绍了Android BroadcastReceiver广播注册方式总结的相关资料,需要的朋友可以参考下
介绍地址:http://blog.csdn.net/niubitianping/article/details/51925048
自己写的一个短信接收,根据短信内容跳出相应的GIF,其中GIF用的网上大神代码,百度即可搜到,感谢大神,对了用studio写的