webview 서비스에서 내 응용 프로그램을 만들고 다른 웹 사이트 (기본 시스템 브라우저 나 동일한 웹보기가 아닌)에서 새 URL을 열려고합니다. 나는 또한 확실히 사실 내 웹보기의 setSupportMultipleWindows했다왜 Android WebChromeClient의 onCreateWindow 메소드가 호출되지 않았습니까?
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;
}
}
, 아래처럼 내 자신의 WebViewClient와 WebChromeClient를 설정합니다.
그러나 onCreateWindow는 호출되지 않습니다. 내가 놓친 것이 있습니까?
미리 감사드립니다.
onCreate() 메소드는 어떻게 생겼습니까? –
다른 웹보기에서 새 URL을로드하고 싶습니다. 솔직히 말해서, 어딘가에 복사했습니다. – fifth
안녕하십니까. @fifth 같은 해결책을 찾았습니까? –