Set loadURLTImeOutValue on WebView

前端 未结 6 1112
我在风中等你
我在风中等你 2020-11-29 06:32

I\'m working with PhoneGap and Android and have my .html and js files on an external server. When I use the following code, the app loads my external .html files and everyt

6条回答
  •  醉梦人生
    2020-11-29 07:01

    This is a workaround to simulate the described behavior. You can use a WebViewClient, and override the onPageStarted method:

    public class MyWebViewClient extends WebViewClient {
        boolean timeout;
    
        public MyWebViewClient() {
            timeout = true;
        }
    
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    timeout = true;
    
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    if(timeout) {
                        // do what you want
                    }
                }
            }).start();
        }
    
        @Override
        public void onPageFinished(WebView view, String url) {
            timeout = false;
        }
    }
    

    If timeout, you can load, for example, an error page...

    To add the WebViewClient to you WebView, just do this:

    webView.setWebViewClient(new MyWebViewClient());
    

提交回复
热议问题