首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >WebView链接单击打开默认浏览器

WebView链接单击打开默认浏览器
EN

Stack Overflow用户
提问于 2010-11-20 05:23:13
回答 6查看 121.2K关注 0票数 124

现在,我有一个应用程序,加载一个网页视图,所有的点击都保存在应用程序中。我想要做的是,当某个链接,例如,http://www.google.com在应用程序中被点击时,它会打开默认浏览器。如果有人有什么想法,请让我知道!

EN

回答 6

Stack Overflow用户

发布于 2011-06-14 21:01:01

今天我不得不做同样的事情,我在StackOverflow上找到了一个非常有用的答案,我想在这里分享,以防其他人需要它。

Source (来自sven)

代码语言:javascript
复制
webView.setWebViewClient(new WebViewClient(){
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url != null && (url.startsWith("http://") || url.startsWith("https://"))) {
            view.getContext().startActivity(
                new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
            return true;
        } else {
            return false;
        }
    }
});
票数 210
EN

Stack Overflow用户

发布于 2013-09-25 16:32:48

代码语言:javascript
复制
WebView webview = (WebView) findViewById(R.id.webview);
webview.loadUrl(https://whatoplay.com/);

您不必包含此代码。

代码语言:javascript
复制
// webview.setWebViewClient(new WebViewClient());

相反,使用下面的代码。

代码语言:javascript
复制
webview.setWebViewClient(new WebViewClient()
{
  public boolean shouldOverrideUrlLoading(WebView view, String url)
  {
    String url2="https://whatoplay.com/";
     // all links  with in ur site will be open inside the webview 
     //links that start ur domain 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;
    }
  }
});
票数 38
EN

Stack Overflow用户

发布于 2015-03-09 08:18:34

您只需添加以下行

代码语言:javascript
复制
yourWebViewName.setWebViewClient(new WebViewClient());

有关官方文档,请查看this

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4229494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档