广播(Broadcast)是一种运用在应用程序之间传递消息的机制android
广播接收者(BroadcastReceiver)是用来过滤、接收井响应广播的一类组件
广播接收者能够监听系统中的广播消息,在不一样组件之问进行通讯
1发送广播
/8.之前版木ide
动做:广播地址,p包名应用名称this
Intent intent=new Intent("com.imau.broadcast"):参数:inten权限component
sendBroadcast(intent):ci
/8.0以后版本get
Intent intent=new Intent ("com example. mymess age):/设置广播接收具体信息;it
intent. setPackage("com. fmau. broadcast"):io
/参数:广播接收者报名comimau, broadcasto广播接收者具体类全路径com.imau. broadcastdemo. MyBroadcas //intent. setcomponent(newast
componentNane(getPackageName getPackageName (+" MyReceiver")) sendBroadcast(intent, nul1)class
广播注册
二、注册广播接收者
静态注册:配置文件中
<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);
三、给本地应用发送广播
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):