android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@8c0deee -- permission denied for window type 2003
我试过在设置type为TYPE_SYSTEM_ALERT,TYPE_SYSTEM_ERROR,TYPE_IPOHNE,TYPE_SYSTEM_ALERT,TYPE_TOAST都不行
android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@8c0deee -- permission denied for window type 2003
我试过在设置type为TYPE_SYSTEM_ALERT,TYPE_SYSTEM_ERROR,TYPE_IPOHNE,TYPE_SYSTEM_ALERT,TYPE_TOAST都不行
这里由一个问答:Android: Unable to add window. Permission denied for this window type
大概意思就是普通的应用程序不允许在锁屏上创建任意窗口,想要弄除非你是操作系统级别的应用。
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
在声明SYSTEM_ALERT_WINDOW 权限后,选择使用TYPE_SYSTEM_ALERT等来使弹窗显示在其他应用之上;在Android O系统上都将显示在TYPE_APPLICATION_OVERLAY类型的窗口之下。而targetSdkVersion为android O的应用直接使用TYPE_APPLICATION_OVERLAY显示Alter Window。这样你的弹框可能还是在别人的弹窗之下。
适配Android 8.0,请使用TYPE_APPLICATION_OVERLAY弹出悬浮窗,需要申请权限。