Broadcast:广播用来接收指定的消息,例如订阅消息,类似监听指定数据。有两种注册方式(两种接受消息方式),发送方式一样,静态注册和动态注册。
应用broadcast步骤:先创建一个继承BroadcastReceive类的实体类MyBroadcastReceive。在这个类中的onReceive方法中接受广播过来的数据,处理传过来的消息。
静态注册:
在清单文件AndroidManifest注册MyBroadcastReceive类,并使用标签intent-filter来筛选。
<receiver android:name=".entities.MyBroadcastReceive">
<intent-filter>
<action android:name="com.asmpt.testappone"/>
</intent-filter>
</receiver>
测试一下,在点击button发送广播
Intent intent=new Intent("com.asmpt.testappone");
intent.putExtra("key","hello broadcast");
sendBroadcast(intent);
动态注册:
和静态类似的操作,先创建MyBroadcastReceive,发送和接收的Activity中注册broadcast
//动态注册
IntentFilter intentFilter=new IntentFilter("com.asmpt.testappone1");
receive=new MyBroadcastReceive();
registerReceiver(receive,intentFilter);
在测试代码中发布广播:
Intent intent=new Intent("com.asmpt.testappone1");
intent.putExtra("key","hello broadcast111111");
sendBroadcast(intent);