Пользовательские вкладки Chrome с методом onCreateWindow WebChromeClient, как получить URL-адрес в onCreateWindow

Я работаю над запуском всплывающей ссылки (корзина покупок Amazon) из моего веб-представления, и у меня она работает так, что корзина загружается в веб-браузере, что было моим первоначальным намерением. Но я заинтересован в использовании пользовательских вкладок 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);
        }
    }); 

Теперь мы достигли сути моей проблемы - я не уверен, как получить доступ к uri из метода onCreateWindow, где я буду запускать пользовательские вкладки 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;
            }

Я просмотрел несколько других сообщений, а именно Обработка URL-адреса из веб-представления onCreateWindow, но я не нашел большого успеха. Поэтому, если у кого-то есть какие-либо предложения о том, как получить URL-адрес в методе onCreateWindow или способ иного запуска пользовательских вкладок Chrome в этом случае, мы будем очень признательны.


person Ethan    schedule 06.07.2016    source источник
comment
Вы смогли это решить?   -  person Javier Marín    schedule 26.09.2016
comment
@JavierMarín Нет, я просто оставил все как есть, т.е. запустил внешнюю веб-страницу в Chrome.   -  person Ethan    schedule 28.09.2016