广播和服务

广播(Broadcast)是一种运用在应用程序之间传递消息的机制

广播接收者(BroadcastReceiver)是用来过滤、接收井响应广播的一类组件
广播接收者可以监听系统中的广播消息,在不同组件之问进行通信
1发送广播
/8.以前版木

动作:广播地址,p包名应用名称

Intent intent=new Intent("com.imau.broadcast"):参数:inten权限

sendBroadcast(intent):

/8.0之后版本

Intent intent=new Intent ("com example. mymess age):/设置广播接收具体信息;

intent. setPackage("com. fmau. broadcast"):

/参数:广播接收者报名comimau, broadcasto广播接收者具体类全路径com.imau. broadcastdemo. MyBroadcas //intent. setcomponent(new

componentNane(getPackageName getPackageName (+" MyReceiver")) sendBroadcast(intent, nul1)

广播注册

2、注册广播接收者

静态注册:配置文件中

<1---配文件:静注册-

receiver android:name. MyBroadcast

android: enabled="true android: exported="true"> cintant-filter

--动作name和广播action发送者-- caction android: nare="aaaa">c/action> </intent-filter>

</receiver>

动态注册va代码中

//1.构建 IntentFilter

IntentFilter recevierFilter=new IntentFilterO; recevierFilter. addAction("com. example. mymessage):/注册接收者到应用中

receiver=new MyReceiver O;数:接收者过滤器

registerReceiver(receiver, recevierFilter);

3、给本地应用发送广播

1创建一个本地广播管理器LocalBroadcastManager

broadcastManager=LocalBroadcas tManagergetInstance(MainActivity.this);/
2构建广播动作
IntentFilter intentFilter=new IntentFilter("com.example.mymessage"):
3注册广播接收和动作
broadcastManager. registerReceiver intentFilter)/
4.发送广播
Intent intent=new Intent ("com.example. mymessage"): broadcastManager. sendBroadcast(intent):

猜你喜欢

转载自blog.51cto.com/14589602/2650741