Android WebView TimeOut
-
29-09-2019 - |
Domanda
C'è un modo per impostare il valore di timeout in WebView? Voglio che il WebView da timeouted Se l'URL è troppo lento per la risposta.
Soluzione
È possibile farlo attraverso la creazione di un timer che controlla per il progresso della pagina corrente chiamando getProgress () e se è inferiore a una certa soglia, dopo un certo periodo di tempo specificato, allora si può respingere il caricamento della pagina corrente.
Altri suggerimenti
Si può utilizzare il metodo di onLoadResource
WebViewClient
invece di Timer
. In questo modo:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
progressDialog.show();
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Log.d("WEBCLIENT", "onPageFinished");
}
@Override
public void onLoadResource(WebView view, String url) {
super.onLoadResource(view, url);
Log.d("WEBCLIENT","onLoadResource");
if(webView.getProgress() == 100) {
progressDialog.dismiss();
}
}
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow