2017-08-28 32 views
0

webview onReceivedErrorメソッドは、webview setWebViewClientでほとんどの時間呼び出されます。どうすれば修正できますか?Webview onReceivedErrorメソッドがほとんどの時間呼び出されます

onReceivedErrorメソッドが呼び出される理由はいくつかあります。利用可能な問題のみがWebページに呼び出されているかどうかをどのように知ることができますか?

 webView = (WebView) findViewById(R.id.webViewOpen); 
     webView.loadUrl(url); 
     webView.getSettings().setJavaScriptEnabled(true); 
     webView.getSettings().setEnableSmoothTransition(true); 
     webView.getSettings().setLoadsImagesAutomatically(true); 
     webView.setWebViewClient(new WebViewClient() { 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { 
       toolbar.setTitle(title); 
       try { 
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
         view.loadUrl(request.getUrl().toString()); 
        } else { 
         view.loadUrl(url); 
        } 
       } catch (Exception e) { 
        Toast.makeText(WebViewOpen.this, "Opening Browser", Toast.LENGTH_SHORT).show(); 
        return false; 
       } 
       return true; 
      } 

      /*@Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       toolbar.setTitle(title); 
       try { 
        webView.loadUrl(url); 
       } catch (Exception e) { 
        Toast.makeText(WebViewOpen.this, "Opening Browser", Toast.LENGTH_SHORT).show(); 
        return false; 
       } 
       return true; 
      }*/ 

      @Override 
      public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) { 
       Toast.makeText(getApplicationContext(), "Error! Check your internet connection\nor refresh\n" + error.toString(), 
         Toast.LENGTH_SHORT).show(); 
       webView.loadUrl("file:///android_asset/dealsoftheday.html"); 
      } 
     }); 

答えて

0

エラーを確認し、必要に応じて処理する必要があります。ような何か:WebViewClient errors

switch (error.getErrorCode()) { 
    case WebViewClient.ERROR_BAD_URL: 
     ... 
     break; 
    case WebViewClient.ERROR_CONNECT: 
     ... 
     break; 
    case ...: 
     break; 
    default: 
     break; 
} 

あなたがここでエラーの完全なリストを見ることができます

関連する問題