Android绕过申请权限的悬浮窗方案
全局悬浮窗是项目中的一个常见需求,目前比较常见的实现是将要悬浮的View添加到WindowManager中。
这种方案的主要痛点在于需要用户申请TYPE_SYSTEM_ALERT权限,并且需要用户去设置中手动打开,使用起来很不方便,同时需要申请权限可能会劝退用户。
正常创建悬浮窗,关键代码只有一句 layoutParams.type=2037
正常情况下
ayoutParams.type=WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
2037是TYPE_PRESENTATION,但这个被标注了@hide,所以直接用它的实际数值,可以正常显示悬浮窗,绕过权限申请