您的位置:首页 > 移动开发 > Android开发

android广播机制的实现

2013-12-16 12:08 309 查看
转载于http://blog.csdn.net/hxingd/article/details/9053525

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

1、如何发送广播的?

[java]
view plaincopy

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

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

[java]
view plaincopy

private class SeekBarBroadcastReceiver extends BroadcastReceiver {  
  
        @Override  
        public void onReceive(Context context, Intent intent) {  
              
              
        }  
  
    }  

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

3、可能一个应用有N多个广播,根本不知道要处理哪个广播?这个需要引用广播注册,广播注册作用是使接受者和广播者持有相同相同动作,这样接受者就知道接受和处理哪个广播。

广播注册有两种办法:
1)在配置文件注册(AndroidManifest.xml)

[java]
view plaincopy

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

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

[java]
view plaincopy

SeekBarBroadcastReceiver receiver = new SeekBarBroadcastReceiver();  
        IntentFilter filter = new IntentFilter("com.music.activities.seekBar");  
        this.registerReceiver(receiver, filter);  

这种办法解除注册过程是这样的,

[java]
view plaincopy

this.unregisterReceiver(receiver);  

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

[java]
view plaincopy

<pre></pre>  
<pre></pre>  
<pre></pre>  
<pre></pre>  
<pre></pre>  
<pre></pre>  
<pre></pre> 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: