Я создаю свое приложение на веб-сервисе и пытаюсь открыть новый URL в другом окне (ни в системном браузере по умолчанию, ни в том же веб-браузере).Я настроил свой собственный WebViewClient и WebChromeClient, как показано ниже:
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading (WebView view, String url) {
view.loadUrl(url);
return true;
}
}
public class MyWebChromeClient extends WebChromeClient {
@Override
public boolean onCreateWindow (WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {
WebView childView = new WebView(view.getContext());
final WebSettings settings = childView.getSettings();
settings.setJavaScriptEnabled(true);
childView.setWebChromeClient(this);
childView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
transport.setWebView(childView);
resultMsg.sendToTarget();
Log.d(LOG_TAG, "onCreateWindow"); // never log
return true;
}
}
У меня также определенно было webview setSupportMultipleWindows в true .
Однако onCreateWindow никогда не вызывали.Я что-то пропустил?
Заранее спасибо.