2011-07-26 69 views
0

在我的應用程序中,我有一個擴展ListActivity的MainActivity。其他所有活動都擴展了MainActivity。BroadcastReceiver for every activities

以這種方式在MainActivity中,我的所有設置都對我的所有活動有效,同時也是一個接收服務意圖的BroadcastReceiver。

我的問題是Preference類不擴展MainActivity,所以當用戶處於Preference窗口時,我失去了相同的意圖。

是否可以爲我的應用程序的所有組件始終開啓BroadcastReceiver?

回答

0

BroadcastReceiverIntentFilter觸發,它與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>