广播接收器

时间:2011-03-21 15:22:53

标签: android android-manifest

我知道有两种方法让您的程序了解广播接收器。您可以在清单文件中指定,也可以在java文件中动态注册。我知道如果你把它放在java文件中,那么你也必须取消注册它。我的问题是,如果您只在清单文件中指定它,那么您必须专门取消注册它。也许在清单文件中?也许在java文件中?或者,如果在清单文件中声明,您永远不必取消注册它。

由于

1 个答案:

答案 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