上下文:
我们的应用程序最近改用自定义 Chrome 选项卡进行身份验证。由于隐私限制,WebViews 不允许从 Google 和 Facebook 登录。
使用
onResume
和 onNewIntent
生命周期方法来检测用户何时关闭自定义 Chrome 选项卡并重定向回我们的应用程序,一切都运行良好。然而,最近的 Chrome 更新为自定义 Chrome 选项卡引入了最小化按钮(画中画模式)。
对于我们的身份验证流程,这种最小化功能是不可取的。我们希望用户在再次与应用程序交互之前完成身份验证。不幸的是,由于隐私问题,直接修改 Chrome Tab 行为受到限制。
我们当前的问题是,当用户最小化自定义 Chrome 选项卡时,我们使用 onResume 的应用程序会将其解释为完全关闭。我探索了 CustomTabCallback 中的
onMinimized
和 onUnMinimized
API,但它们没有检测到用户最小化然后关闭选项卡的场景。这使得我们的应用程序的 Activity 为空,导致用户体验不佳。
问题:
附加信息:
我已经探索了
onMinimized
和 onUnMinimized
API。为了跟踪最小化状态,我实现了一个标志。然而,这种方法有局限性。在 onResume 内部,我使用计时器(设置为 750 毫秒)来定期检查该标志。如果标志显示选项卡已最小化,我会避免将其视为关闭的选项卡。这在检测关闭事件时引入了轻微的延迟,我很好奇是否有更好的解决方案。但正如我之前所说,此解决方案可以解决检测最小化状态的问题,但是当用户在最小化状态下关闭自定义选项卡时,我们没有任何方法可以检测到。
有什么方法可以检测最小化状态下自定义选项卡的关闭吗?
感谢您的帮助!!