我必须为Android制作一个webbrowser,所以我想尝试阻止一个网站。
我该怎么做?
答案 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去的时候,会处理这个,那么问题是什么?为什么我不能阻止一个网站的任何步骤?