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

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.

Leave a Comment