[Bug]:Android 15 申请权限后 dialogfragment的mask layer 每次打开 都会闪烁一次
框架版本【必填】
20.0
问题描述【必填】
在 Android 15 上使用XXPermissions申请权限后,打开所有的带有 mask layer 的界面都会全黑的闪烁一次尤其在dialogfragment上问题最为突出。
复现步骤【必填】
第一步:使用XXPermissions 申请任何权限。 第二步,打开 软件内的任意dialogfragment 界面(第一步和第二步之间不能退出 APP)。
是否必现【必填】
是
项目 targetSdkVersion【必填】
34
出现问题的手机信息【必填】
红米 k10
出现问题的安卓版本【必填】
15
问题信息的来源渠道【必填】
自己遇到的
是部分机型还是所有机型都会出现【必答】
小米 带 android 15 的全系
框架最新的版本是否存在这个问题【必答】
是
框架文档是否提及了该问题【必答】
否
是否已经查阅框架文档但还未能解决的【必答】
是
issue 列表中是否有人曾提过类似的问题【必答】
否
是否已经搜索过了 issue 列表但还未能解决的【必答】
是
是否可以通过 Demo 来复现该问题【必答】
是
提供报错堆栈
No response
提供截图或视频
No response
提供解决方案
No response
这个问题是小米 Android 15 的机型才会出现还是所有品牌的 Android 15 的机型都会出现?
vivo 在 Android 15 上也复现了
你说的 mask layer 是指的什么?Dialog?Fragment?
在弹出DialogFragment 的时候 会把屏幕后面变暗,这个变暗的就是mask layer 层。如果用XXPermissions先申请了权限,然后打开Dialog的时候,这个mask layer 就会在屏幕上全黑抖动一下。重新打开一次 APP 就好了
@Bruce8hou 你录个视频过来我看看
有差不多的问题,在DialogFragment中请求权限的话,状态栏因为mask会来回切换颜色,体验不是很好
@getActivity @Bruce8hou 在Android15上,除了DialogFragment外,普通的Dialog也会闪烁,不过这不是xxpermission的问题,使用Android提供的原生api请求权限也会闪烁
@HanHua0402 如果不是框架的问题,就需要自行解决了。
@HanHua0402 您有没有解决方法呢? 能否分享一下呢?
@Er3c @Bruce8hou @HanHua0402 @yujia77fxm 我突然想到一个办法,不知道可不可行,你们换成 EasyWindow 试试,这个是基于 WindowManager 封装的悬浮窗框架,看看能不能解决你们的需求。
你们说的是这个问题吧?Dialog 在 Android 14 和 Android 15 的表现不一样,Android 14 没有蒙层,Android 15 又有蒙层。我个人觉得这个问题没有什么,如果你一定要关闭这个 Dialog 自带的蒙层,可以通过设置以下的代码来解决:
Window window = dialog.getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);