我有一個應用程序,只有兩個活動,主要活動和PreferenceActivity。當狀態發生變化時(飛行模式開啓或關閉,GPS開啓和關閉等),我想更新這兩個活動。如何使用BroadcastReceiver更新兩個活動?
我需要更新一些變量,只有當應用程序被激活的UI,所以我想這是更好的代碼,而不是在應用程序清單來註冊接收器。
正如我不希望在每個活動複製代碼,我試圖把廣播接收器在它自己的類。不過,我發現我無法註冊BroadcastReceiver。有沒有解決這個問題的方法?
三江源,梅爾
public class melsBigListener {
IntentFilter intentFilter = new IntentFilter("android.intent.action.SERVICE_STATE");
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//TO DO Update both my main activity and the preference activity
//TO DO deal with different intents via switch statement...
}
};
//registering as receiver(like below) can not work
//registerReceiver(receiver, intentFilter);}
Relevant post:RegisterBroadcastReceiver in Manifest.xml setting or by implement source code