Giter VIP home page Giter VIP logo

Comments (9)

gumaola avatar gumaola commented on July 20, 2024 2

在测试工程Sample app中也可以复现此问题:
1.针对浮窗1,不给予权限,降级为app层级浮窗。
2.首页点击“隐藏全局悬浮窗”,此时浮窗1被隐藏
3.首页点击“进入测试页面”->点击“进入多浮窗页面”->点击“显示全局悬浮窗(tag1)”,此时浮窗1依旧无法显示,仅当返回上一页后才会显示浮窗1

from floatingx.

Petterpx avatar Petterpx commented on July 20, 2024 1

感谢,我个人暂时的解决办法就是修改了show()函数逻辑 image

是的,这里可以兜底,但主要问题原因不是在show()方法,可以先这样处理

抱歉久等了,更新到2.1.0即可修复此问题

from floatingx.

Petterpx avatar Petterpx commented on July 20, 2024

Android SDK Version = v2.0.6 具体操作为: 1.启动APP,在Activity A调用FloatingX.install().show()显示一个浮窗。 2.跳转至Activity B,此时浮窗可以正常显示。 3.返回Activity A,调用FloatingX.control(FLOAT_TAG).hide()隐藏浮窗 4.再次跳转至Activity B,此时浮窗也是处于隐藏状态。 5.然后在Activity B调用FloatingX.control(FLOAT_TAG).show(),这时浮窗无法正常显示,但是返回Activity A时,发现浮窗可以正常显示。

跟踪源代码发现,错误是发生在这一步: image 在Activity B中的containerGroupView依旧是Activity A的DecorView,所以实际是添加在Activity A上显示,而B页面无法及时显示。

B Activity - show()展示时机是onResume之前吗,如果是的话那不行,目前浮窗的插入时机监控是在onResume里做的

from floatingx.

gumaola avatar gumaola commented on July 20, 2024

Android SDK Version = v2.0.6 具体操作为: 1.启动APP,在Activity A调用FloatingX.install().show()显示一个浮窗。 2.跳转至Activity B,此时浮窗可以正常显示。 3.返回Activity A,调用FloatingX.control(FLOAT_TAG).hide()隐藏浮窗 4.再次跳转至Activity B,此时浮窗也是处于隐藏状态。 5.然后在Activity B调用FloatingX.control(FLOAT_TAG).show(),这时浮窗无法正常显示,但是返回Activity A时,发现浮窗可以正常显示。
跟踪源代码发现,错误是发生在这一步: image 在Activity B中的containerGroupView依旧是Activity A的DecorView,所以实际是添加在Activity A上显示,而B页面无法及时显示。

B Activity - show()展示时机是onResume之前吗,如果是的话那不行,目前浮窗的插入时机监控是在onResume里做的

是在OnResume中做的
image

from floatingx.

Petterpx avatar Petterpx commented on July 20, 2024

在测试工程Sample app中也可以复现此问题: 1.针对浮窗1,不给予权限,降级为app层级浮窗。 2.首页点击“隐藏全局悬浮窗”,此时浮窗1被隐藏 3.首页点击“进入测试页面”->点击“进入多浮窗页面”->点击“显示全局悬浮窗(tag1)”,此时浮窗1依旧无法显示,仅当返回上一页后才会显示浮窗1

感谢反馈,已修复,请更新到2.0.7即可

from floatingx.

gumaola avatar gumaola commented on July 20, 2024

在测试工程Sample app中也可以复现此问题: 1.针对浮窗1,不给予权限,降级为app层级浮窗。 2.首页点击“隐藏全局悬浮窗”,此时浮窗1被隐藏 3.首页点击“进入测试页面”->点击“进入多浮窗页面”->点击“显示全局悬浮窗(tag1)”,此时浮窗1依旧无法显示,仅当返回上一页后才会显示浮窗1

感谢反馈,已修复,请更新到2.0.7即可

感谢您的修正,从我的设备上看,上述不显示的问题已经得到修正。不过我又发现一个新的问题(版本2.0.7)。

同样可以在Sample上重现:
1.针对浮窗1,不给予权限,降级为app层级浮窗。
2.首页点击“隐藏全局悬浮窗”,此时浮窗1被隐藏
3.首页点击“进入测试页面”->点击“进入黑名单页面”->点击“显示全局悬浮窗”。此时悬浮窗不会被显示,没有问题。
4.点击返回键,返回首页。点击“显示全局悬浮窗”,此时悬浮窗无法显示

根据代码,发现错误原因是在:
image

此时fxView不知道何时已经呗attach到MainActivity的DecorView中了,所以走不到下一步。

from floatingx.

Petterpx avatar Petterpx commented on July 20, 2024

在测试工程Sample app中也可以复现此问题: 1.针对浮窗1,不给予权限,降级为app层级浮窗。 2.首页点击“隐藏全局悬浮窗”,此时浮窗1被隐藏 3.首页点击“进入测试页面”->点击“进入多浮窗页面”->点击“显示全局悬浮窗(tag1)”,此时浮窗1依旧无法显示,仅当返回上一页后才会显示浮窗1

感谢反馈,已修复,请更新到2.0.7即可

感谢您的修正,从我的设备上看,上述不显示的问题已经得到修正。不过我又发现一个新的问题(版本2.0.7)。

同样可以在Sample上重现: 1.针对浮窗1,不给予权限,降级为app层级浮窗。 2.首页点击“隐藏全局悬浮窗”,此时浮窗1被隐藏 3.首页点击“进入测试页面”->点击“进入黑名单页面”->点击“显示全局悬浮窗”。此时悬浮窗不会被显示,没有问题。 4.点击返回键,返回首页。点击“显示全局悬浮窗”,此时悬浮窗无法显示

根据代码,发现错误原因是在: image

此时fxView不知道何时已经呗attach到MainActivity的DecorView中了,所以走不到下一步。

这是一个比较复杂的流程问题,得debug一会,大概知道原因是因为fx的状态监测异常导致

from floatingx.

gumaola avatar gumaola commented on July 20, 2024

感谢,我个人暂时的解决办法就是修改了show()函数逻辑
image

from floatingx.

Petterpx avatar Petterpx commented on July 20, 2024

感谢,我个人暂时的解决办法就是修改了show()函数逻辑 image

是的,这里可以兜底,但主要问题原因不是在show()方法,可以先这样处理

from floatingx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.