KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to develop a custom browser with WebView using Android API level 10 (sdk 2.3.3), unfortunately I don't know how to intercept request from the webpage to open URL in new browser window, like taps on links with target="_blank" . In conformity with the API Doc I have overridden the onCreateWindow of WebChromeClient , but is not called when such a link is tapped. Could be a bug of this API level? I'm also overriding shouldOverrideUrlLoading to avoid WebView opening subsequent links in the built-in browser. Here is my sample code that opens google.com . To test it, tap "News" and then tap on any news title. The Android built-in browser normally opens it in a new browser window . package com.myexample; import android.app.Activity; import android.os.Bundle; import android.os.Message; import android.util.Log; import android.webkit.WebChromeClient; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast; public class HelloAndroidActivity extends Activity { private static String TAG = "WebViewTest"; private WebView mWebView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i(TAG, "onCreate"); setContentView(R.layout.main); mWebView = (WebView) findViewById(R.id.mywebview); mWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); mWebView.setWebChromeClient(new WebChromeClient() { @Override public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, Message resultMsg) { Toast.makeText(getApplicationContext(), "OnCreateWindow", Toast.LENGTH_LONG).show();
Tags (comma-separated)
Save Edits
Cancel