android广播机制的实现

转载于http://blog.csdn.net/hxingd/article/details/9053525


有时需要将数据广播给大家,这时需要应用广播机制原理。所谓Android广播与现实中广播有点相似,就是把消息传给所有人。如果自己需要这个广播消息的话,就接受处理。否则就不理睬。但是怎样才知道自己需不需要呢?为了实现这个,Android引入“动作”。如果广播者和接受者持有同样的动作的话,那么接受者将接受这个广播,并处理这个广播消息,这就是广播实现原理。


1、如何发送广播的?

  1. Intent intent=new Intent("com.music.activities.seekBar");//这里定义动作;  
  2. sendBroadcast(intent);//发送广播  


2、接着就是定义广播处理。

  1. private class SeekBarBroadcastReceiver extends BroadcastReceiver {  
  2.   
  3.         @Override  
  4.         public void onReceive(Context context, Intent intent) {  
  5.               
  6.               
  7.         }  
  8.   
  9.     }  

这里onReceive是处理广播消息的。


3、可能一个应用有N多个广播,根本不知道要处理哪个广播?这个需要引用广播注册,广播注册作用是使接受者和广播者持有相同相同动作,这样接受者就知道接受和处理哪个广播。
广播注册有两种办法:
1)在配置文件注册(AndroidManifest.xml)

  1. <receiver android:name=".SeekBarBroadcastReceiver ">   
  2.             <intent-filter android:priority="20">   
  3.                 <action android:name="com.music.activities.seekBar"/>   
  4.             </intent-filter>   
  5.         </receiver>  

2) 另一个注册办法是在程序中注册

  1. SeekBarBroadcastReceiver receiver = new SeekBarBroadcastReceiver();  
  2.         IntentFilter filter = new IntentFilter("com.music.activities.seekBar");  
  3.         this.registerReceiver(receiver, filter);  
这种办法解除注册过程是这样的,

  1. this.unregisterReceiver(receiver);  

4、这样就完成广播所有实现过程。


  1. <pre></pre>  
  2. <pre></pre>  
  3. <pre></pre>  
  4. <pre></pre>  
  5. <pre></pre>  
  6. <pre></pre>  
  7. <pre></pre> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值