Android Alert dialog from inside an intent service
Need Activity
for display AlertDialog
, because we can't display Dialog
from any Service
Solution.
Create Activity
as Dialog Theme and start that Activity
from Service
.
Just need to register you Activity
in menifest.xml
like as below
android:theme="@android:style/Theme.Dialog"
or
android:theme="@android:style/Theme.Translucent.NoTitleBar"
MyDialog.java
public class MyDialog extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final AlertDialog alertDialog = new AlertDialog.Builder(this).create(); alertDialog.setTitle("your title"); alertDialog.setMessage("your message"); alertDialog.setIcon(R.drawable.icon); alertDialog.show(); }}
Only if you set your alertDialog type to TYPE_SYSTEM_ALERT
it will be displayed from an intent service.
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
add these after your code:
alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);alertDialog.show();
But, it have a cost:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
Please visit
https://github.com/selmantayyar/Custom-SMS-Popup
it will surly help you!!
or what you can do is register anActivity in menifest.xml as follows
android:theme="@android:style/Theme.Dialog"
or
android:theme="@android:style/Theme.Translucent.NoTitleBar"
and work around it