开发者

How can I display a dialog from an Android broadcast receiver?

开发者 https://www.devze.com 2023-01-18 02:46 出处:网络
Ideally, I do not want to start an activity to do this. When the WiFi connection is lost, my app needs to close because this is a fatal error for us. I w开发者_开发技巧ant to display an error message

Ideally, I do not want to start an activity to do this. When the WiFi connection is lost, my app needs to close because this is a fatal error for us. I w开发者_开发技巧ant to display an error message and have the user press an Ok button and then exit the app. What is the best way to go about this?

Thanks!


AFAIK, only activities can display dialogs. If so, and if your BroadcastReceiver is registered by an activity via registerReceiver(), you're set -- just use that activity. If, however, your BroadcastReceiver is registered in the manifest, I think you will have no choice but to do something else.

For example, you could send an ordered broadcast Intent. Your currently-running activity -- if any -- would have a high-priority BroadcastReceiver for that Intent, then can pop a dialog when it receives the broadcast. If, however, none of your activities are on screen, you could have a manifest-registered low-priority BroadcastReceiver pick up the broadcast, if you wanted to display a Notification or something. Here is a blog post that covers a bit more about this pattern.

0

精彩评论

暂无评论...
验证码 换一张
取 消