注册/取消注册启动广播接收器

时间:2011-11-25 01:39:56

标签: android broadcastreceiver boot

我根据这篇文章注册了一个启动广播接收器:

Launch activity using boot broadcast receiver

我想知道如何取消注册? /它可以以编程方式注册/取消注册吗?

问题是注册是在清单中完成的,而不是以编程方式完成的。

1 个答案:

答案 0 :(得分:4)

如果您在Manifest中注册BroadcastReceiver,即使应用程序未运行,它也会被触发。如果在Activity中注册BroadcastReceiver,则只有在代码运行时才会触发它,并且当acitivty处于非活动状态时应该取消注册。

由于这是BOOT_COMPLETED广播,因此在代码中注册没有意义。它应该在Manifest中注册,我认为我们不能注销它。但是,我们可以通过检查SharedPreferences中的一些布尔变量或onReceive()方法中的文件等来忽略它。例如:

if(condition){//use the variables to verify the condition
//do something
}