旧版本可以使用的系统弹窗
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT
在6.0版本以后似乎不能用了,会报错没有权限。
permission denied for this window type
于是,替换使用为
WindowManager.LayoutParams.TYPE_TOAST
这个普通toast弹窗没有任何权限的要求,但对话框背景是普通白色。
因为是例题,先酌情使用吧。
另外,不设置
alertDialog.getWindow().setType
方法时,会直接崩溃,提示为activity是否在运行的错误。
我的猜测是,AlertDialog在广播中不能自定义创建。
使用系统弹窗,免去了费时的UI操作,即可在广播中建立弹窗。
经试验后,确实如此。