转自:
Neither WebView
nor WebViewClient
provide methods to do that, Though, you can try to implement that manually. You can do something like this:
private WebView webview;
public void onCreate(Bundle icicle){// bla bla bla// here you initialize your webviewwebview = new WebView(this);webview.setWebViewClient(new YourWebClient());
}// this will be the webclient that will manage the webview
private class YourWebClient extends WebViewClient{// you want to catch when an URL is going to be loadedpublic boolean shouldOverrideUrlLoading (WebView view, String urlConection){// here you will use the url to access the headers.// in this case, the Content-Length oneURL url;URLConnection conexion;try {url = new URL(urlConection);conexion = url.openConnection();conexion.setConnectTimeout(3000);t();// get the size of the file which is in the header of the requestint size = ContentLength();}// and here, if you want, you can load the page normallyString htmlContent = "";HttpGet httpGet = new HttpGet(urlConection);// this receives the responseHttpResponse response;try {response = ute(httpGet);if (StatusLine().getStatusCode() == 200) {// la conexion fue establecida, obtener el contenidoHttpEntity entity = Entity();if (entity != null) {InputStream inputStream = Content();htmlContent = convertToString(inputStream);}}} catch (Exception e) {}webview.loadData(htmlContent, "text/html", "utf-8");return true;}public String convertToString(InputStream inputStream){StringBuffer string = new StringBuffer();BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));String line;try {while ((line = adLine()) != null) {string.append(linea + "n");}} catch (IOException e) {}String();}
}
本文发布于:2024-02-05 08:49:42,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170728314365051.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |