在浏览器中打开webView中的一些链接(只有部分不是全部)

时间:2017-08-05 23:48:57

标签: android webview

我的网站有一个webview应用程序,我想在用户点击时在浏览器中浏览我网站中的链接,以及webView中的其他链接...只有一些不是全部!!并在我的网站链接没有在我的应用程序!!

例如!!!在这个网址中的鳕鱼包含sms toast url:

setContentView(R.layout.activity_main);

    web = (WebView) findViewById(R.id.web);

    web.getSettings().setSupportZoom(true);
   web.getSettings().setJavaScriptEnabled(true);
    web.getSettings().setSupportZoom(true);

    web.getSettings().setLoadWithOverviewMode(true);
    CookieManager.getInstance().setAcceptCookie(true);

    web.loadUrl(url);
      String weburl = web.getUrl();
    if(weburl.contains("sms")){
        Context context = getApplicationContext();
        CharSequence text =weburl;
        int duration = Toast.LENGTH_SHORT;


        Toast toast = Toast.makeText(context, text, duration);
        toast.show();

    }
坦克你

1 个答案:

答案 0 :(得分:0)

您必须覆盖shouldOverrideUrlLoading()的{​​{1}}方法。

示例(取自官方文档):

WebViewClient

然后为private class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (Uri.parse(url).getHost().equals("www.example.com")) { // This is my web site, so do not override; let my WebView load the page return false; } // Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent); return true; } }

创建此新WebViewClient的实例
WebView

Doc:https://developer.android.com/guide/webapps/webview.html#HandlingNavigation