天天看点

Android在广播接收者中弹出对话框

在广播中弹出对话框与在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

继续阅读