0

我正在努力从我的 webView 中启动一个弹出链接(亚马逊购物车),并且我让它工作,以便购物车加载到网络浏览器中,这是我的初衷。但是,我有兴趣使用 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;
            }

我查看了其他一些帖子,即来自 onCreateWindow web view 的 Handle url,但我没有发现太多成功。因此,如果有人对如何在 onCreateWindow 方法中获取 url 或在这种情况下以其他方式启动 Chrome 自定义选项卡有任何建议,我们将不胜感激

4

0 回答 0