Как перехватить ошибку «Страница не найдена» в веб-просмотре? - PullRequest
2 голосов
/ 16 февраля 2011

Я пишу приложение, содержащее WebView. и я хочу добавить некоторые функции для перехвата сообщения «Страница не найдена» в случае, если содержимое, которое я пытаюсь показать в моем приложении, когда-либо было отключено или по какой-либо другой причине недоступно. Я пытался использовать onReceivedError (), но безрезультатно. Если, возможно, мой синтаксис неправильный, но если это так, я не вижу ошибки. может кто-нибудь помочь?

код:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadUrl("http://www.somesite.net");

    mWebView.setWebViewClient(new HelloWebViewClient()); 

    mWebView.setWebViewClient(new WebViewClient() {
    @Override
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
        Log.i("WEB_VIEW_TEST", "error code:" + errorCode);
        super.onReceivedError(view, errorCode, description, failingUrl);
        //TO DO - do something else in here if the site is down
        }
      });


}
private class HelloWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;

    }
}

Ответы [ 2 ]

1 голос
/ 17 февраля 2011

WebViewClient должен быть установлен перед загрузкой URL.

0 голосов
/ 29 июня 2012

только что с этим сталкивался. onReceivedError () работает нормально. Когда произойдет ошибка, вы получите -2. ​​

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...