我有WebView,我想在webview中打开属于域www.example.org的链接,而在我的应用程序之外的默认浏览器打开所有其他链接(如果点击)。如何在web视图中打开链接或根据域名默认打开浏览器?
我试图使用公共布尔值shouldOverrideUrlLoading(WebView视图,字符串url),但它不能正常工作。
这里是不起作用的代码:
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
try {
URL urlObj = new URL(url);
if (urlObj.getHost().equals("192.168.1.34")) {
view.loadUrl(url);
return true;
} else {
view.loadUrl(url);
return false;
}
} catch (Exception e) {
}
}
}
在这两种情况下(返回true,并返回false)的URL是由我的应用程序处理。
这个代码真的让你不知道什么不同的行为返回不同的布尔值时,因为你是在这两种情况下调用view.loadUrl(),由此产生的相同的结果。如果你从两个语句中删除了这行,你会发现返回false仍然会在WebView中加载url ...并且返回true什么也不做(你必须手动执行某些操作)。 – Devunwired 2011-02-07 14:32:12