我正在努力从我的webView中启动弹出链接(亚马逊购物车),我让它工作,以便在Web浏览器中加载购物车,这是我的初衷。但是,我对使用Chrome自定义标签感兴趣,使转换看起来更顺畅。我所看到的Chrome自定义标签的所有示例似乎都遵循以下模式:
CustomTabsIntent customTabsIntent = new CustomTabsIntent.Builder().build();
CustomTabActivityHelper.openCustomTab(this, customTabsIntent, uri,
new CustomTabActivityHelper.CustomTabFallback() {
@Override
public void openUri(Activity activity, Uri uri) {
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
});
现在我们已经解决了问题的关键 - 我不确定如何从onCreateWindow方法访问uri,这是我要启动Chrome自定义标签的地方。目前,我的代码如下:
@Override
public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture,
Message resultMsg) {
WebView wv = new WebView(getApplicationContext());
final WebSettings settings = wv.getSettings();
settings.setJavaScriptEnabled(true);
wv.setWebChromeClient(this);
wv.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
transport.setWebView(wv);
resultMsg.sendToTarget();
return true;
}
我已经查看了其他一些帖子,即Handle url from onCreateWindow web view,但我还没有取得多大成功。因此,如果有人对如何在onCreateWindow方法中获取网址有任何建议,或者在这种情况下以其他方式启动Chrome自定义标签,那么我们将非常感激