最近按照网上 写一个系统级别弹窗demo 例如桌面加速小火箭
遇到的问题
Unable to add window android.view.ViewRootImpl$W@4103e4c0 -- permission denied for this window type
原因是:
发现在使用WindowManager.LayoutParams.TYPE_SYSTEM_ALERT涉及到window type权限问题
首先配置文件申请权限
在Mainfest.xml中添加window 权限:
<!-- 显示系统窗口权限 -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
代码中 对不同版本进行判断
//for android 7.0
mParams.type=WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
//for android 8.0
// mParams.type=WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
代码:
final WindowManager.LayoutParams params = mParams;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
params.width = WindowManager.LayoutParams.WRAP_CONTENT;
params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | Wind