2012-10-22 10 views
19

मेरे पास मेरे ऐप में एक वेबव्यू है, हालांकि कभी-कभी कनेक्टिविटी के कारण वेबव्यू लोड होने में विफल रहता है और मुझे डिफ़ॉल्ट वेबपृष्ठ अनुपलब्ध पृष्ठ मिलता है। यदि वेबव्यू लोड होने में असफल रहा तो मैं एक चेतावनीडियलॉग दिखाना चाहता हूं। क्या वैसे भी मैं जांच सकता हूं (शायद कंधे ओवरराइड पेज लोड फ़ंक्शन में) कि एक वेबव्यू सफलतापूर्वक लोड हो गया है? धन्यवाद फिर सेवेबव्यू पेज (एंड्रॉइड) लोड करने में विफल रहा है या नहीं, यह जांचने के लिए कैसे करें?

उत्तर

46

एक WebClient अपने वेब दृश्य पर इस प्रकार का उपयोग करें: WebViewClient के प्रयोग पर

webView.setWebViewClient(new WebViewClient(){ 

@Override public void onReceivedError(WebView view, WebResourceRequest request, 
     WebResourceError error) { 
    super.onReceivedError(view, request, error); 
    // Do something 
    } 
}); 
+1

धन्यवाद आदमी। मैंने वेबव्यू क्लाइंट में इस विधि को अनदेखा कर दिया होगा। मैं इसे उत्तर के रूप में चिह्नित करूंगा। – HAxxor

+0

और "onReceivedSslError" – Hugo

+3

आप इस जवाब पर एक नज़र रखना चाहिए: http://stackoverflow.com/a/33419123/149008 onReceivedError के बाद से API23 – nacho4d

9

डेमियन के जवाब पर विस्तार, चार सफलता और वेब पृष्ठों को लोड की विफलता के लिए जाँच करने के लिए WebViewClient पर उपलब्ध श्रोताओं कर रहे हैं।

webView.setWebViewClient(new WebViewClient() { 
    @Override 
    public void onPageFinished(WebView view, String url) { 
    } 

    @Override 
    public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) { 
    } 

    @Override 
    public void onReceivedHttpError(
      WebView view, WebResourceRequest request, WebResourceResponse errorResponse) { 
    } 

    @Override 
    public void onReceivedSslError(WebView view, SslErrorHandler handler, 
            SslError error) { 
    } 
}); 

वहाँ भी है:

@Override 
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
    } 
}); 

जो अपने अधिभार उपरोक्त कोड में उल्लेख किया है के पक्ष में पदावनत किया गया है।

संबंधित मुद्दे

 संबंधित मुद्दे