我们一次可以运行多少个 mayLaunchUrl



我正在尝试将ChromeCustomTabs用于我们的项目。当我使用mayLaunchUrl时,我遇到了几个问题。我检查了谷歌在github上的代码。当我使用 chrome 开发工具查找流量时,我只是设置了一个按钮来测试 mayLaunchURL(预渲染功能)。我做了流量和选项卡被触发并且 url 被加载(它只是一个带有参数的 GET 调用)。但是,当我多次单击它时(8-10 次后,每次使用不同的参数),它停止工作。我不再看到已发送的请求。(在 chrome 开发工具上看不到,在我设置的代理上也没有看到)。

我想知道 mayLaunchURL 功能是否有限制时间(限制),换句话说,在这种情况下我们可以预呈现多少页?有没有办法手动取消预渲染页面并释放资源?

绑定自定义标签服务的时间是否有限制?我调用 mayLaunchURL 的方法是有一个活动并在完成选项卡后终止该活动。即使我每次都"杀死(完成)"活动,我是否可以每次都绑定服务?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    customTabActivityHelper = new CustomTabActivityHelper();
    customTabActivityHelper.setConnectionCallback(this);
}
@Override
    protected void onStart() {
        super.onStart();
            customTabActivityHelper.bindCustomTabsService(this);
        }
@Override
public void onCustomTabsConnected() { 
    Boolean mayLaunchUrlAccepted = customTabActivityHelper.mayLaunchUrl(Uri.parse(“the URL?f=“+params), null, null);
 // the mayLaunchUrlAccepted always return true in my case. Even when there is no request sent.
}

是的,mayLaunchURL() 在电池/RAM/网络方面非常昂贵,因此它在应用程序 UID 级别受到限制。但是限制会在一段时间后下降。

最佳策略是使用 mayLaunchURL(),如果用户导航到 URL 的置信度非常高。

有"低置信度"mayLaunchURL(),它没有受到限制,但执行一组更有限的操作(当前预连接,未指定哪个,可能会更改)。低置信度 mayLaunchURL 是通过提供 null 作为 uri 和 otherPossibleBundles 中的 URL 列表来触发的。

最新更新