Android两种BroadcastReceiver

本文详细介绍了Android中的广播机制,包括静态和动态广播的创建过程。静态广播需要在AndroidManifest.xml中声明并设置动作名,而动态广播则是在Activity运行时进行注册与注销。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android两种BroadcastReceiver:静态和动态。

第一:静态广播的建立。

(1)在AndroidManifest.xml中声明广播

(2)继承广播接收,对接收到的广播进行处理。

第二:动态广播。

(1)进入Activity时注册动态广播

(2)离开窗口时注销动态广播


实例:


第一:静态广播;

(1)在AndroidManifest.xml中声明静态广播;设置广播接收的动作名


<receiver android:name="广播所在的包名.TestBroadcastReceiver">
            <intent-filter>
                <action android:name="broadcast_static_action"/>
            </intent-filter>    
</receiver>
     (2)继承广播接收,对接收到的广播进行处理
public class TestBroadcastReceiver extends BroadcastReceiver{
	private final static String TAG = TestBroadcastReceiver.class.getSimpleName();
	
	@Override
	public void onReceive(Context context, Intent intent) {
		// TODO Auto-generated method stub
		String staticAction = intent.getAction();
		if(staticAction.equals("broadcast_static_action")){
			Log.i(TAG,"staticAction");
		}
	}

}

第二:动态广播

(1)建立动态广播类:

	class TestDynamicBroadcastReceiver extends BroadcastReceiver{
		@Override
		public void onReceive(Context context, Intent intent) {
			// TODO Auto-generated method stub
			if("broadcast_dynamic_action".equals(intent.getAction())){
				Log.i(TAG,"intent.getAction()="+intent.getAction());
			}
			Log.i(TAG,"dynamic broadcastreceiver");
		}
	}

2)建立动态广播对象

BroadcastReceiver receiver = new TestDynamicBroadcastReceiver();


(3)注册动态广播

public void registerBroadcast(){
		IntentFilter  intentFilter = new IntentFilter();
		intentFilter.addAction("broadcast_dynamic_action");
		registerReceiver(receiver, intentFilter);
}

(4)注销动态广播类

public void unRegisterBroadcast(){
		unregisterReceiver(receiver);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值