在后台加载 Chrome 自定义选项卡并在 Android 上的 NAVIGATION_FINISHED 上触发

Posted

技术标签:

【中文标题】在后台加载 Chrome 自定义选项卡并在 Android 上的 NAVIGATION_FINISHED 上触发【英文标题】:Loading a Chrome Custom Tab in the background and trigger on NAVIGATION_FINISHED on Android 【发布时间】:2017-03-25 15:26:52 【问题描述】:

我在 android 上使用 Chrome 自定义选项卡,我想在后台加载 url 并等待 NAVIGATION_FINISHED 触发,然后再向用户显示(或不显示)页面。

我已经能够触发 NAVIGATION_FINISHED,但是根据我在文档和示例中可以看到的内容,现在可以实际加载 URL 而无需向用户显示。我已经尝试过预热和 mayLaunchUrl(..) 方法,但它们实际上并没有加载 url(这是有道理的)。

如果有人能告诉我这是 a) 可能以及如何做或 b) 不可能,那么请停止尝试,那将是一个很大的帮助。谢谢。

【问题讨论】:

【参考方案1】:

要在打开页面之前预加载内容,请使用mayLaunchUrl。它将一直持续到将页面预呈现给用户。

我建议阅读best practices。当前的建议是在用户打开页面至少有 50% 的变化时进行预渲染。

如果可能性低于此值,您可以使用低置信度预取:调用mayLaunchUrl,第一个参数为null,第三个参数的捆绑列表中的所需url。这将解析 DNS 并预连接到服务器,但不会获取整个页面。

【讨论】:

以上是关于在后台加载 Chrome 自定义选项卡并在 Android 上的 NAVIGATION_FINISHED 上触发的主要内容,如果未能解决你的问题,请参考以下文章

Chrome 自定义标签会在浏览时预加载网页吗?

在加载的视图上选择选项卡并更改段

在android中动态创建选项卡并使用传入的参数加载片段

Android 11、自定义标签和 FLAG_ACTIVITY_CLEAR_TOP

是否可以使用材料 ui 选项卡并仍然使用反应路由器?

Chrome 自定义选项卡自定义(如 setToolbarColor、开始和退出动画)不起作用