Android之四 广播机制实现

                                                                         广播机制实现


    有时需要将数据广播给大家,这时需要应用广播机制原理。所谓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、这样就完成广播所有实现过程。








  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android广播机制Android系统中的一个重要部分,它允许应用程序在不同组件之间传递消息和事件。下面是实现Android广播机制的步骤: 1. 定义广播接收器 首先,需要创建一个继承自BroadcastReceiver类的广播接收器。在这个类中,需要实现onReceive()方法,该方法会在接收到广播时被调用。在onReceive()方法中,可以获取广播发送者传递的数据,并进行相应的处理。 2. 注册广播接收器 接下来,需要将广播接收器注册到Android系统中。这可以通过在AndroidManifest.xml文件中声明广播接收器来完成。也可以通过代码动态注册广播接收器。在注册广播接收器时,需要指定接收哪些广播广播的优先级以及是否允许在后台接收广播等信息。 3. 发送广播 当需要发送广播时,可以调用sendBroadcast()、sendOrderedBroadcast()或sendStickyBroadcast()方法。这些方法的参数包括要发送的广播广播的Intent对象以及其他可选参数。 4. 接收广播 广播接收器会在接收到广播时自动调用onReceive()方法。在onReceive()方法中,可以获取广播发送者传递的数据,进行相应的处理。 注意事项: 1. 在接收广播时,不要执行耗时操作,否则会影响应用程序的性能。 2. 在发送广播时,需要注意广播的权限,不要随意发送敏感信息。 3. 在注册广播接收器时,需要注意广播接收器的生命周期,避免出现内存泄漏等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值