转载于http://blog.csdn.net/hxingd/article/details/9053525
有时需要将数据广播给大家,这时需要应用广播机制原理。所谓Android广播与现实中广播有点相似,就是把消息传给所有人。如果自己需要这个广播消息的话,就接受处理。否则就不理睬。但是怎样才知道自己需不需要呢?为了实现这个,Android引入“动作”。如果广播者和接受者持有同样的动作的话,那么接受者将接受这个广播,并处理这个广播消息,这就是广播实现原理。
1、如何发送广播的?
- Intent intent=new Intent("com.music.activities.seekBar");//这里定义动作;
- sendBroadcast(intent);//发送广播
2、接着就是定义广播处理。
- private class SeekBarBroadcastReceiver extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- }
- }
这里onReceive是处理广播消息的。
3、可能一个应用有N多个广播,根本不知道要处理哪个广播?这个需要引用广播注册,广播注册作用是使接受者和广播者持有相同相同动作,这样接受者就知道接受和处理哪个广播。
广播注册有两种办法:
1)在配置文件注册(AndroidManifest.xml)
- <receiver android:name=".SeekBarBroadcastReceiver ">
- <intent-filter android:priority="20">
- <action android:name="com.music.activities.seekBar"/>
- </intent-filter>
- </receiver>
2) 另一个注册办法是在程序中注册
- SeekBarBroadcastReceiver receiver = new SeekBarBroadcastReceiver();
- IntentFilter filter = new IntentFilter("com.music.activities.seekBar");
- this.registerReceiver(receiver, filter);
- this.unregisterReceiver(receiver);
4、这样就完成广播所有实现过程。
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>