我在webview服務上構建我的應用程序,並嘗試在另一個窗口中打開新的URL(既不在默認系統瀏覽器中,也不在同一個webview中)。我建立自己WebViewClient和WebChromeClient像下面,爲什麼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;
}
}
我也肯定有我的的WebView setSupportMultipleWindows真。
但是,onCreateWindow永遠不會被調用。有什麼我錯過了嗎?
在此先感謝。
你的onCreate()方法是什麼樣的? – 2012-03-16 20:29:21
我只是想在另一個webview中加載新的url。老實說,我把它複製到某個地方 – fifth 2012-03-21 02:37:53
您好@fifth您是否找到相同的解決方案? – 2012-09-26 10:40:47