广播接收者两种注册方式及优缺点

两种注册方式
静态注册:在清单文件中配置

<receiveandroid:name=".IncomingSMSReceiver " >
<intent-filter>
  <actionandroid:name="Android.provider.Telephony.SMS_RECEIVED")
<intent-filter>
<receiver>

动态注册:在代码中注册

IntentFilterfilter =  newIntentFilter("android.provider.Telephony.SMS_RECEIVED");

IncomingSMSReceiver receiver = new IncomgSMSReceiver();

registerReceiver(receiver.filter);

第一种是常驻型(静态注册):当应用程序关闭后如果有信息广播来,程序也会被系统调用,自己运行

第二种不常驻(动态注册):广播会跟随程序的生命周期

动态注册
优点:
在android的广播机制中,动态注册优先级高于静态注册优先级,因此在必要情况下,是需要动态注册广播接收者的。

缺点:
当用来注册的 Activity 关掉后,广播也就失效了

静态注册
优点:
无需担忧广播接收器是否被关闭,只要设备是开启状态,广播接收器就是打开着的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值