在项目中有时候需要用到系统弹窗,即让当前dialog显示在所有视图之上,一般来说,设置Dialog的type即可,如下:
- dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> <uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />
但是有时候就是会遇到奇葩的问题,部分手机始终无法弹窗成功,如魅族,小米,
但是某些手机对底层进行了修改(小米,魅族之类),系统会默认会拒绝该权限。
通过将type设定为TYPE_TOAST, 就可以绕过检查
-
- dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_TOAST);