2011-10-07 41 views
3

我在我的清單中定義了廣播接收器用於控制互聯網連接是否處於活動狀態。 如果沒有互聯網應用程序啓動一個意圖,並打開一個新的活動。如何在應用關閉時停止BroadcastReceiver

問題是,如果我關閉了應用程序,並且我失去了互聯網連接,活動彈出!

如何在應用程序關閉時停止廣播接收器?

感謝

+0

嗯,這聽起來像你的應用程序正在做你準確告訴它。所有在清單中註冊的接收者都是永久的(據我所知)。但問題是,如果我關閉了應用程序,並且我失去了互聯網連接,活動就會彈出來!「這不正是你的清單所說的應該發生的事情嗎? – Falmarri

回答

0

廣播接收器不打烊。即使您的應用已關閉,他也可以工作。 嘗試在onReceive方法中添加特殊的布爾語句。

樣本:如果應用程序關閉 - 不的onReceive

onReceive(){ 
    if(isAppRunning){ 
      // do something if app is running 
    } 
} 
+0

但是,當你不使用它時,你應該取消註冊BroadcastReceiver。 如果你沒有取消註冊BroadcastReceiver,當註冊BroadcastReceiver的應用程序被終止並且在這種情況下Internetconnection被關閉並且正在廣播並關閉它時,你很可能會發生異常。 – Darwind

0

如果你想在廣播接收到活動運行,只有當行爲做的代碼,你可能需要考慮的活動中登記。

相關問題