我是靠谱客的博主 正直砖头,最近开发中收集的这篇文章主要介绍android广播机制的实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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


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


1、如何发送广播的?

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


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

[java] view plain copy
  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)

[java] view plain copy
  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) 另一个注册办法是在程序中注册

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

[java] view plain copy
  1. this.unregisterReceiver(receiver);  

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


[java] view plain copy
  1. <pre></pre>  
  2. <pre></pre>  
  3. <pre></pre>  
  4. <pre></pre>  
  5. <pre></pre>  
  6. <pre></pre>  
  7. <pre></pre> 

最后

以上就是正直砖头为你收集整理的android广播机制的实现的全部内容,希望文章能够帮你解决android广播机制的实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部