静态注册广播接收器

动态注册的广播接收器可以自由地控制注册与注销,在灵活性方面有很大的优势,但是 它必须要在程序启动之后才能接收到广播,因为注册的逻辑是写在 onCreate()方法中的。解决这个问题,就需要使用静态注册的方式了。
本章节实现让程序接收到开机广播,然后执行onReceiver()方法里的逻辑,如弹出一条提示。

l 1、新建一个Android Application Project项目,命名为SecondBroadcast。创建项目可以通过向导创建,也可以手动创建。手动创建时,记得创建一个布局。该布局命名为activtiy_main

l 2、在MainActivity类中,新建一个 BootCompleteReceiver 继承自 BroadcastReceiver,代码如下:
这里写图片描述
图1

l 3、在 AndroidManifest.xml文件中注册
这里写图片描述
图2

说明:
•第11行代码,使用uses-permission标签加入一条监听系统开机广播android.permission.RECEIVE_BOOT_COMPLETED权限
•第28~32行代码,使用标签receiver静态注册一个广播接收器。第28行代码,android:name指定具体注册哪一个广播接收器。第30行代码,Android系统启动完成后会发出一条值为android.intent.action.BOOT_COMPLETED的广 播,因此在此处添加了相应的 action。

l 4、运行程序,通过模拟器的 Menu键→System settings→Apps,选择App的名称,可以看到当前程序所拥有的权限,如下图所示。关闭模拟器,重新启动,程序会弹出提示。
这里写图片描述
图3

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值