如何在WebView中阻止站点

时间:2016-06-04 14:35:49

标签: android android-webview

我必须为Android制作一个webbrowser,所以我想尝试阻止一个网站。

我该怎么做?

3 个答案:

答案 0 :(得分:1)

假设您的WebView ID为myWebView,那么您将要做的是:

    WebView wb = (WebView) findViewById(R.id.myWebView);
    wb.setWebViewClient(new WebViewClient() {

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (url.contains("http://yourBlockedUrl.com")){
            //notify the user that this url is blocked
            return true;
            }

            return false;
        }
   });

通过执行此操作,您将覆盖webview的URL加载,因此可以阻止加载URL。

答案 1 :(得分:0)

假设您将网址发送为字符串“www.google.com”,您可以从edittext中检查这是否是阻止的网址。 例如

if( "www.google.com".equalsIgnoreCase(blocked_string))
{
   webview.setVisibility(View.GONE);
   warning_view.setVisibilty(View.VISIBLE);
}

或者您可以尝试覆盖WebViewClient类中的shouldOverrideUrlLoading()

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
 if(my_url.equals("www.google.com")){
     //do something.
 }
 return true;
 }

创建和设置WebViewClient子类。当事件发生影响内容的呈现时,例如,错误或表单提交,将调用它。您也可以在此拦截网址加载(通过shouldOverrideUrlLoading())。

答案 2 :(得分:0)

public void gotoUrl(View view) {
    EditText theEditText = (EditText)findViewById(R.id.urlTxt);
    theUrl = theEditText.getText().toString();
    //
  // String blok= "http://www.teknojurnal.com";
       webBrowserKu.loadUrl(theUrl);


}
  

我的网页浏览器当klik去的时候,会处理这个,那么问题是什么?为什么我不能阻止一个网站的任何步骤?