我正在尝试在我们的项目中使用 ChromeCustomTabs。我在使用 mayLaunchUrl 时遇到了几个问题。我检查了谷歌在 github 上的代码。当我使用 chrome 开发工具查找流量时,我只是设置了一个按钮来测试 mayLaunchURL(预渲染功能)。我做了流量和选项卡触发并加载了网址(它只是一个带有参数的 GET 调用)。但是,当我多次单击它时(8-10 次后,每次都使用不同的参数),它停止工作。我不再看到发出的请求。(在 chrome 开发工具上看不到,也没有在我设置的代理上看到)。
我想知道 mayLaunchURL 功能是否有限制时间(restriction),换句话说,在这种情况下我们可以预渲染多少页?有没有办法手动取消预渲染页面并释放资源?
绑定CustomTabsService 的时间是否有限制?我调用 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.
}