编译工具,Androidstudio,Android版本是:Android 11 问题一: 报错内容: Caused by: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@4035b5b -- permission denied for window type 2003 at android.view.ViewRootImpl.setView(ViewRootImpl.java:1157) at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:409) 这个很简单,一看就是因为选线的问题,加上以下权限就好了 <permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
问题二:
报错内容:
Caused by: android.view.WindowManager$InvalidDisplayException: Unable to add window android.view.ViewRootImpl$W@4035b5b -- the specified window type 0 is not valid
at android.view.ViewRootImpl.setView(ViewRootImpl.java:1164)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:409)
指定window 的type就可以了 mLayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
问题三:
报错内容:
Caused by: android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@c5353e5 -- permission denied for window type 2003
at android.view.ViewRootImpl.setView(ViewRootImpl.java:1157)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:409)
还是权限问题,我们需要动态申请悬浮框权限

本文探讨了在Android开发中实现悬浮窗时遇到的两个问题:WindowManager$InvalidDisplayException和WindowManager$BadTokenException。这两个错误分别与无效的窗口类型和权限被拒有关。解决方法包括正确设置窗口类型和动态申请悬浮窗权限。
659

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



