Service里面弹出Dialog出错

一、问题:服务中弹出dialog报错

 Caused by: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@4931c1d -- permission denied for this window type



dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT)); 

可以让对话框始终显示在其他应用程序的window之上,也就是说这个dialog始终处于最上层,对用户始终可见,

也就是说用户按了home之后dialog还在。这样做需要加上权限"android.permission.SYSTEM_ALERT_WINDOW",但是某些手机对底层进行了修改(小米,魅族,乐视之类),系统会默认会拒绝该权限。

二、解决办法:

通过将type设定为TYPE_TOAST, 就可以绕过检查



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值