网友通过本文主要向大家介绍了broadcastreceiver,android broadcast,android中broadcast,android receiver,broadcast等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
BroadcastReceiver--Android广播机制,broadcastreceiver
什么是广播生活中的电视频道、收音机、手机、都有自己的特定广播,他们不管是否有人关心、收听等,不管你是否看电视,每个频道都实施按照自己的进步进行播放、收音机也是!所以我理解的android广播机制也就是这样--广播发布者只负责把发生的事件发出,至于是否有接听者或者接听者接收到怎样处理并不关心。
广播在android中的用途 从上面的介绍不难发现,用来传输数据。具体如下: 怎样实现广播现在我们就来实现一个简单的广播程序。Android提供了两种注册广播接受者的形式,分别是在程序中动态注册和在xml中指定。他们之间的区别就是作用的范围不同,程序动态注册的接收者只在程序运行过程中有效,而在xml注册的接收者不管你的程序有没有启动有会起作用。首先介绍在程序中动态注册的方式。
Android有系统广播也可以自定义广播,要想接受广播信息,那么这个广播接收器就得我们自己来实现了,我们可以继承BroadcastReceiver,就可以有一个广播接受器了。有个接受器还不够,我们还得重写BroadcastReceiver里面的onReceiver方法,当来广播的时候我们要干什么,下面一个小程序来进行展示广播的应用。
一、注册(当实现了广播接收器,还要设置广播接收器接收广播信息的类型,这里是信息:android.provider.Telephony.SMS_RECEIVED)
二、继承BroadcastReceiver,重写onReceiver方法。这里是监听到短信发送,将触发这个广播,然后把短信内容解析出来并展示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public class SmsBroadCastReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
Bundle bundle = intent.getExtras();
Object[] object = (Object[])bundle.get( "pdus" );
SmsMessage sms[]= new SmsMessage[object.length];
for ( int i= 0 ;i<object.length;i++)
{
sms[ 0 ] = SmsMessage.createFromPdu(( byte [])object[i]);
Toast.makeText(context, "来自" +sms[i].getDisplayOriginatingAddress()+ " 的消息是:" +sms[i].getDisplayMessageBody(), Toast.LENGTH_SHORT).show();
}
//终止广播,在这里我们可以稍微处理,根据用户输入的号码可以实现短信防火墙。
abortBroadcast();
}
}
|
您可能想查找下面的文章:
- Android深入四大组件(四)广播的注册、发送和接收过程
- 4.3.1 BroadcastReceiver牛刀小试
- Android中BroadcastReceiver的两种注册方式(静态和动态)详解,broadcastreceiver
- Android-BroadcastReceiver详解
- BroadcastReceiver--Android广播机制,broadcastreceiver
- 解析BroadcastReceiver之你需要了解的一些东东,broadcastreceiver
- Android--BroadcastReceiver应用详解
- Android四大组件之BroadcastReceiver
- Android:广播接收器(BroadCastReceiver)要点随笔。,
- Android中BroadcastReceiver组件详解