在广播中弹出对话框与在Activiity中弹出对话框有所不同,在Activiity中弹出对话框,我们需要用到当前Activiity的Context,而在广播中并没有,如果一定要在广播中弹出一个对话框,我需要定义这个对话框是一个系统级别的。
首先需要有弹出系统对话框的权限
在show()之前,要先设置Dialog的类型为<code>TYPE_SYSTEM_ALERT</code>。
最后,最最重要的,<code>AlertDialog</code>要使用<code>android.app.AlertDialog</code>,不要用<code>v7</code>包下的Dialog,会报错。
由于是系统级别的Dialog,是需要悬浮窗权限的,类似小米手机,默认就是关闭了悬浮窗权限,所以执行了代码也没有任何效果,需要手动把权限加上才能正常弹出,所以一般也建议这样做。
Code