2010-09-30 31 views
3

理想情況下,我不想開始這樣做的活動。當WiFi連接丟失時,我的應用需要關閉,因爲這對我們來說是一個致命的錯誤。我想顯示一條錯誤消息並讓用戶按下確定按鈕,然後退出應用程序。什麼是最好的方式去做這件事?如何顯示Android廣播接收器中的對話框?

謝謝!

+0

你解決了嗎? – nida 2015-01-21 05:18:41

回答

7

AFAIK,只有活動可以顯示對話框。如果是這樣,並且您的BroadcastReceiver由活動通過registerReceiver()註冊,則您已設置 - 只使用該活動。但是,如果您的BroadcastReceiver已在清單中註冊,我認爲您別無選擇,只能做其他事情。

例如,您可以發送訂購的廣播Intent。您當前正在運行的活動(如果有的話)會爲該Intent設置高優先級BroadcastReceiver,然後在收到廣播時彈出對話框。但是,如果您的任何活動都不在屏幕上,那麼如果您想顯示Notification或其他內容,則可以使用清單登記的低優先級BroadcastReceiver接收廣播。 Here is a blog post,涵蓋了更多關於這種模式。

+0

我通過registerReceiver()註冊接收器,但是當我嘗試從onReceive方法顯示對話框時,它不顯示。可能是什麼問題呢? – smitten 2010-10-01 00:14:02

+0

@smitten:不確定你用於對話框的'Context' - 確定它是'Activity'。否則,AFAIK,應該工作得很好。 – CommonsWare 2010-10-01 00:29:21

+0

還有其他錯誤。這工作!謝謝。 – smitten 2010-10-01 01:17:38