在我的应用程序中,我有一个扩展ListActivity的MainActivity。我的所有其他活动都扩展了MainActivity。
通过这种方式,在MainActivity中,我的所有设置都对我的所有活动都有效,而且还有一个从服务接收意图的BroadcastReceiver。
我的问题是Preference类没有扩展MainActivity,因此当用户进入Preference窗口时我会失去相同的意图。
是否可以为我的应用程序的所有组件设置BroadcastReceiver?
答案 0 :(得分:0)
BroadcastReceiver
触发的 IntentFilter
与Intent
无关,但与操作字符串无关。
如果Intent
以相同的操作开始 - 那将启动BroadcastReceiver
。因此,要从首选项活动中启动BroadcastReceiver
,您只需使用IntentFilter
中所述的相同操作启动它(如示例中所示:“mypackage.myclass.MY_ACTION”):
<receiver android:name=".MyReceiver">
<intent-filter>
<action android:name="mypackage.myclass.MY_ACTION"/>
</intent-filter>
</receiver>