以编程方式注册BroadCastReceiver

时间:2013-10-06 10:46:57

标签: android broadcastreceiver

使用registerReceiver()编程注册BroadcastReceiver是否有任何优势,而不是在AndroidMenifest.xml中注册

1 个答案:

答案 0 :(得分:1)

清单: - 操作系统会根据需要神奇地找到并实例化你的类,调用onReceive()方法,无论你的应用程序的运行状态是什么 - 你的接收只会在每次广播时调用一次(即你可以考虑在清单中注册就像注册你的“班级”以接收广播一样 - 广播会根据需要实例化你的班级。

以编程方式: - 在代码中注册意味着您正在注册类的实例以接收广播消息(即,如果您的代码有点草率,并且您设法多次注册,则最终会有多个BroadcastReceiver实例都具有他们的onReceive()调用广播 - 取消注册,你需要取消注册你之前注册的特定BroadcastReceiver实例 - 如果你的应用程序被操作系统销毁,你的onReceive()方法将不会被调用广播