2012-09-27 108 views
1

我有一個應用程序與幾個活動,我希望在手機上線時通知(無論用戶在哪個活動)。我已經找到了一個廣播接收器來做這件事,但我想知道是否有一種方法來宣佈這個BroadcastReceiver只有一次,我想避免在每個活動中放置代碼(我有超過20個活動! )。全球廣播接收器(Android)

謝謝。

回答

2

創建抽象類extends Activity並定義廣播接收器實現在那裏。稍後,修改您的活動課程以延伸父級課程。

+0

哦,我沒有想過這件事。即使應用程序已關閉(未打開任何活動),如果我想要收到通知,該怎麼辦? –

+0

在你的父類中創建一個'boolean'標誌(可以說是** isVisible **)並且覆蓋'onStart'和'onStop'方法。在'onStart'中,將標誌設置爲'true',在'onStop'中設置爲'false'。這會告訴你該活動是否在屏幕上可見。 – waqaslam

+0

之前提到的另一種方法是使用單例類。但請記住多線程的注意事項。這完全取決於你的情況。 –

1

正如在文檔中一樣,如果我們在清單文件中聲明廣播接收器,它會自動運行。 事情是,現在你需要處理接收器的onReceive()方法。 另一種方法是你創建一個單獨的java類並導入你想要的任何地方。