如何在不扩展活动或服务的类中实例化广播接收器

时间:2013-04-04 00:32:28

标签: android broadcastreceiver

我有一个实用程序类,需要能够从另一个类接收广播意图。此实用程序类不会扩展Activity或Service。如何在此类中实例化和注册广播接收器?

因为该类不是Activity类,所以没有onCreate或onDestroy回调方法。放置寄存器接收器的唯一地方是在构造函数中,但是没有onDestroy方法,因此我找不到放置取消注册接收器调用的位置。

2 个答案:

答案 0 :(得分:0)

我不知道如何做到这一点。您实际上是在询问如何在不依赖活动生命周期的情况下实例化需要依赖活动生命周期的类。我建议你重构一下,在onCreate()和onDestroy()中调用你的代码。但请记住,可以随时创建和销毁活动。如果您在应用程序中使用多个活动,则在从一个活动切换到另一个活动时,您将遇到接收广播的问题。

答案 1 :(得分:0)

将实用程序类传递给应用程序Context的实例,然后可以使用它来注册接收器。如果您需要运行响应意图的代码,则必须使用ActivityService。这是Android。