我知道有两种方法让您的程序了解广播接收器。您可以在清单文件中指定,也可以在java文件中动态注册。我知道如果你把它放在java文件中,那么你也必须取消注册它。我的问题是,如果您只在清单文件中指定它,那么您必须专门取消注册它。也许在清单文件中?也许在java文件中?或者,如果在清单文件中声明,您永远不必取消注册它。
由于
答案 0 :(得分:2)
Auwall,
如文件中所述:
将接收的代码的基类 sendBroadcast()发送的意图。您 可以动态注册一个 这个类的实例 Context.registerReceiver()或 静态发布实现 通过你的标签 AndroidManifest.xml中。注意:如果 在你的网站上注册接收者 Activity.onResume()实现, 你应该取消注册 Activity.onPause()。 (你不会收到的 暂停时意图,这将削减 减少不必要的系统开销)。 不要注销 Activity.onSaveInstanceState() 因为如果这不会被调用 用户返回历史堆栈
关于取消注册BroadcastReceiver
的说明仅适用于在onResume()
中以编程方式注册的情况。如果您在AndroidManifest.xml
中注册了它,则无需取消注册。
来源:http://developer.android.com/reference/android/content/BroadcastReceiver.html