在项目中有时候需要用到系统弹窗,即让当前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);
本文探讨了在特定品牌手机上实现系统级弹窗的方法,针对魅族、小米等定制系统的设备,通过调整Dialog类型绕过系统权限限制。

被折叠的 条评论
为什么被折叠?



