Android WebView,获取URL请求之前的那一刻

时间:2013-10-26 18:00:52

标签: android webview

每当用户点击WebView内的链接时,我想检查用户是否在线。如果用户在线,我将加载URL,否则我将向用户显示Toast并且不做任何其他操作。 (我可以成功检查互联网是否存在this code

我延长了WebViewClient并覆盖了shouldOverrideUrlLoading()onReceivedError()方法。

但是当用户点击链接并且没有互联网连接onReceivedError()被触发时。我可以在收到错误时将用户重定向到我的主要活动。但是如果用户按下后退按钮他/她没有看到先前的活动结果,他/她看到“页面无法找到”错误页面。我不希望用户在按下后退按钮时显示此页面。

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    boolean isOnline = Util.isOnline(mContext);
    if (!isOnline) {
        Toast.makeText(mContext, "No internet connection", Toast.LENGTH_SHORT).show();
        return true;
      } else {
         view.loadUrl(url);
         return true;
      }
    }
}

@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
    Toast.makeText(mContext, "onReceivedError", Toast.LENGTH_SHORT).show();
    Intent myIntent = new Intent(SecondActivity.this, MyActivity.class);
    SecondActivity.this.startActivity(myIntent);
}

0 个答案:

没有答案