BroadcastReceiver用于每个活动

时间:2011-07-26 07:47:23

标签: android broadcastreceiver

在我的应用程序中,我有一个扩展ListActivity的MainActivity。我的所有其他活动都扩展了MainActivity。

通过这种方式,在MainActivity中,我的所有设置都对我的所有活动都有效,而且还有一个从服务接收意图的BroadcastReceiver。

我的问题是Preference类没有扩展MainActivity,因此当用户进入Preference窗口时我会失去相同的意图。

是否可以为我的应用程序的所有组件设置BroadcastReceiver?

1 个答案:

答案 0 :(得分:0)

BroadcastReceiver触发的

IntentFilterIntent无关,但与操作字符串无关。

如果Intent以相同的操作开始 - 那将启动BroadcastReceiver。因此,要从首选项活动中启动BroadcastReceiver,您只需使用IntentFilter中所述的相同操作启动它(如示例中所示:“mypackage.myclass.MY_ACTION”):

    <receiver android:name=".MyReceiver">
        <intent-filter>
            <action android:name="mypackage.myclass.MY_ACTION"/>
        </intent-filter>
    </receiver>