如何检测 Android 上自定义 Chrome 选项卡的最小化?

问题描述 投票:0回答:1

上下文:

我们的应用程序最近改用自定义 Chrome 选项卡进行身份验证。由于隐私限制,WebViews 不允许从 Google 和 Facebook 登录。

使用

onResume
onNewIntent
生命周期方法来检测用户何时关闭自定义 Chrome 选项卡并重定向回我们的应用程序,一切都运行良好。然而,最近的 Chrome 更新为自定义 Chrome 选项卡引入了最小化按钮(画中画模式)。

对于我们的身份验证流程,这种最小化功能是不可取的。我们希望用户在再次与应用程序交互之前完成身份验证。不幸的是,由于隐私问题,直接修改 Chrome Tab 行为受到限制。

我们当前的问题是,当用户最小化自定义 Chrome 选项卡时,我们使用 onResume 的应用程序会将其解释为完全关闭。我探索了 CustomTabCallback 中的

onMinimized
onUnMinimized
API,但它们没有检测到用户最小化然后关闭选项卡的场景。这使得我们的应用程序的 Activity 为空,导致用户体验不佳。

问题:

  • 是否有方法可以可靠地检测用户最终关闭最小化的自定义 Chrome 选项卡?
  • 是否有替代解决方案来有效跟踪我们的身份验证过程的最小化功能?

附加信息:

我已经探索了

onMinimized
onUnMinimized
API。为了跟踪最小化状态,我实现了一个标志。然而,这种方法有局限性。在 onResume 内部,我使用计时器(设置为 750 毫秒)来定期检查该标志。如果标志显示选项卡已最小化,我会避免将其视为关闭的选项卡。这在检测关闭事件时引入了轻微的延迟,我很好奇是否有更好的解决方案。
但正如我之前所说,此解决方案可以解决检测最小化状态的问题,但是当用户在最小化状态下关闭自定义选项卡时,我们没有任何方法可以检测到。

有什么方法可以检测最小化状态下自定义选项卡的关闭吗?

感谢您的帮助!!

android authentication android-activity lifecycle chrome-custom-tabs
1个回答
0
投票

© www.soinside.com 2019 - 2024. All rights reserved.