我正在将一个网站展示到Android webView中。所以,我编写了一个覆盖来使链接在webView内部而不是默认浏览器中打开。我的问题是我的网站中有一些特定的链接,我想在默认浏览器中打开这些链接。如何在覆盖内创建覆盖?我使用的代码应该可以工作,但它没有。
public class MyAppWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().equals("something.com")) {
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
view.getContext().startActivity(intent);
return true;
}
答案 0 :(得分:0)
我找到了解决方案。我刚刚使用了这段代码:
myWebView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
String url2="http://www.example.com/";
// all links with in your site will be open inside the webview
//links that start your domain, for example (http://www.example.com/)
if (url != null && url.startsWith(url2)){
return false;
}
// all links that points outside the site will be open in a normal android browser
else {
view.getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
}
}
});