android:windowIsTranslucent &分享回调 引发的血案

背景:

遇到一个线上用户反馈 case,用户在分享成功之后回调,我们的回调弹窗闪烁多次,无法继续操作,部分机型出现

case跟踪:

针对用户情况,用华为荣耀9.0系统复现。发生场景是,用户在签到中心做任务领取奖励,分享回调页面无法正常展示,有很严重体验问题,而且是少部分机型出现。在 debug 环境逐步跟踪发现,原来是activity 的 style 中的android:windowIsTranslucent 属性导致问题。

复现场景是:需要进行分享调起三方 app,分享回调之后,弹起 dialog 就会出现。

原因:

部分高版本手机在用 activity 模拟的 dialog 样式情况下(android:windowIsTranslucent 主要用户控制弹窗透明,否则用 activity 模拟就没有意义),跳出 app,有 startActivityForResult 之后,会有dialog 弹出失败的问题,其实本质上也不是弹出失败,这个模拟的 dialog 应该是正常弹出了,怀疑是窗体被全部设置透明了,将android:windowIsTranslucent就不会出问题。 或者不走分享,直接调起这个摸你的 dialog 也不会有问题。所以正常情况下,android:windowIsTranslucent和分享回调不同时使用都不会出现问题,极限情况下,就悲剧了!而且是部分高版本手机会出现。  更深层次的原因还有待跟踪....

解决方案:

还是用正常的 dialog 去实现,不要用 activity 去模拟 dialog 了,说不好就遇到类似坑。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独领风骚的猫

我缺你这三瓜俩枣??嗯,缺

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值