我根据这篇文章注册了一个启动广播接收器:
Launch activity using boot broadcast receiver
我想知道如何取消注册? /它可以以编程方式注册/取消注册吗?
问题是注册是在清单中完成的,而不是以编程方式完成的。
答案 0 :(得分:4)
如果您在Manifest中注册BroadcastReceiver,即使应用程序未运行,它也会被触发。如果在Activity中注册BroadcastReceiver,则只有在代码运行时才会触发它,并且当acitivty处于非活动状态时应该取消注册。
由于这是BOOT_COMPLETED广播,因此在代码中注册没有意义。它应该在Manifest中注册,我认为我们不能注销它。但是,我们可以通过检查SharedPreferences中的一些布尔变量或onReceive()
方法中的文件等来忽略它。例如:
if(condition){//use the variables to verify the condition
//do something
}