关于Android中的广播

2种方式
1.标准的广播:一种完全异步执行的 的广播。在广播发出去的时候,所有的广播接收器都会在同一时间接受到这条广播信息
2.有序广播:一种同步执行的广播。发出广播后,同一时刻只会有一个广播接收器收到这条信息,当这个广播处理完以后,下一个广播接收器才会接受到这条广播。优先级高的接收器会优先接受广播,并且前面的接收器还可以截断广播,截断后广播就停止了传播
注册广播的方法2种
1.动态注册系统广播:在代码中注册,创建一个类继承BroadcastReciver,重写onReceive()就可以了

IntentFilter intentFilter=new IntentFilter();
intentFilter.add("系统广播");
//创建广播接收器对象,继承BroadcastReciver
MyReceiver  myReceiver=new MyReceiver();
registerReceiver(myReceiver,intentFilter);

动态注册的广播一定要取消注册

unregisterReceiiver(myReceiver);

2.静态注册:在清单文件中注册

<receiver
android:name="指定的广播接收器"
android:enabled="true"
android:exported="true"
<intent-filter>
<action android:name="接收的广播"
</intent-filter>
/>

自定义广播

Intent intent=new Intent("com.lh.broadcasttest");
sendBroadcast(intent);

<receiver
android:name="指定的广播接收器"
android:enabled="true"
android:exported="true"
<intent-filter>
<action android:name="com.lh.broadcasttest"
</intent-filter>
/>

这样我们就可以发送自定义的广播了

猜你喜欢

转载自blog.csdn.net/qq_39958668/article/details/82977389
今日推荐