How to display a Dialog from a Service?

We can show dialog from service only if it is a system alert dialog. So, set TYPE_SYSTEM_ALERT window layout parameter to Dialog as follows:

dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);

But, it needs SYSTEM_ALERT_WINDOW permission. So, don’t forget to add this permissin in Manifest file.

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

Edit:
Better option to show dialog is to start activity as one of the below ways.

  1. Start Activity with Dialog Theme (android:theme=”@android:style/Theme.Dialog”) -(or)
  2. Start Translucent Activity and show Dialog in it.

Note: You should add Intent.FLAG_ACTIVITY_NEW_TASK to intent

Leave a Comment