1011全局事件——广播(BroadcastReceiver)

1011全局事件——广播(BroadcastReceiver)

ID:41331096

大小:668.73 KB

页数:15页

时间:2019-08-22

1011全局事件——广播(BroadcastReceiver)_第1页
1011全局事件——广播(BroadcastReceiver)_第2页
1011全局事件——广播(BroadcastReceiver)_第3页
1011全局事件——广播(BroadcastReceiver)_第4页
1011全局事件——广播(BroadcastReceiver)_第5页
资源描述:

《1011全局事件——广播(BroadcastReceiver)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、10.1.1全局事件——广播(BroadcastReceiver)广播是AndroidSDK的4大组件中唯一需要被动接收数据的组件,Activity,ContentProvider,Service可以主动调用并返回数据,但是负责接受Broadcast的数据的连接器却永远也不知道什么时候可以接收到广播,所以广播可以被称为全局事件,系统事件。广播机制的图解:BroadcastReceiverDBroadcastReceiverAAndroid事件BroadcastReceiverCBroadcastReceiverB在使用广播时需要在androidmanifest.xml文件中注册,

2、在使用时则根据注册代码中的intent-filter中的anction-name来判断调用哪个广播接收器来处理。现在我们来看一下怎么发送广播:发送广播流程: 创建一类继承自BroadcastReceiver 在androidmanifest.xml文件中注册receiver,注意写明intent-filter中action-name在Main类中创建Intent对象,并指明要传给哪个广播接收器的action-name,最后调用当前对象的sendBroadcast()来发送该intent即广播 广播接收器收到广播后进行处理现在来看具体的业务代码:在广播类中:packagecom.i

3、t.junms;importandroid.content.BroadcastReceiver;importandroid.content.Context;importandroid.content.Intent;importandroid.util.Log;publicclassSMSBroadcastReceiverextendsBroadcastReceiver{privateStringtag="SMSBroadcastReceiver";@OverridepublicvoidonReceive(Contextcontext,Intentintent){//TODOAut

4、o-generatedmethodstub可以通过intent获取到的action判断是否是要接收的广播Log.d(tag,"广播发送成功");}}在Main类中:packagecom.it.junms;importandroid.app.Activity;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.widget.Button;publicclassJunmsBro

5、adcastActivityextendsActivity{/**Calledwhentheactivityisfirstcreated.*/privateButtonbtnSendBroadcast=null;//privateSMSBroadcastReceiversmsBroadcastReceiver=null;@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);btnSendBroadc

6、ast=(Button)findViewById(R.id.btnSendBroadcast);btnSendBroadcast.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){//TODOAuto-generatedmethodstub//smsBroadcastReceiver=newSMSBroadcastReceiver();Intentintent=newIntent("android.provider.Telephony.SMS_RECEIVED");//intent.

7、setAction("android.provider.Telephony.SMS_RECEIVED");JunmsBroadcastActivity.this.sendBroadcast(intent);}});}}在AndroidManifest.xml文件中的注册广播代码:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。