android - Inputstream for webview url is blank though, webview shows some content on its view -
i need read html content instead of showing on webview while doing sequence of transaction using webview online payment using webview. 1 time reaches lastly page, check against url in onpagefinished callback , create urlconnection reading inputstream. empty content though, final webview has content on screen.
public class mwebclient extends webviewclient { @override public void onloadresource(webview view, string url) { super.onloadresource(view, url); // utils.displaylogs("<<<<<< mydebug >>>>>>>", "onloadresource : " // + url); } @override public void onpagestarted(webview view, string url, bitmap favicon) { // todo auto-generated method stub super.onpagestarted(view, url, favicon); utils.displaylogs("<<<<<< mydebug >>>>>>>", "url : " + url); if (mprogressdialog != null && !mprogressdialog.isshowing()) mprogressdialog.show(); } @override public void onpagefinished(webview view, string url) { // todo auto-generated method stub // utils.displaylogs("<<<<<< mydebug >>>>>>>", "url : " + url); if (url.endswith("finalsuccesspage.aspx") || url.endswith("finalerrorpage.aspx")) { seek { list<string> vals = checksuccesscontent(url); if (vals != null && vals.size() > 0) { log.d("<<<<<<mydebug >>>>>>", "vals[0] : " + vals.get(0)); } } grab (ioexception e) { // todo auto-generated grab block e.printstacktrace(); } } super.onpagefinished(view, url); if (mprogressdialog != null && mprogressdialog.isshowing()) mprogressdialog.dismiss(); } @override public boolean shouldoverrideurlloading(webview view, string url) { view.loadurl(url); homecoming true; } private list<string> checksuccesscontent(string url) throws ioexception { list<string> vals = new arraylist<string>(); if (url.endswith("finalsuccesspage.aspx") || url.endswith("finalerrorpage.aspx")) { url turl = new url(url); urlconnection con = turl.openconnection(); reader r = new inputstreamreader(con.getinputstream()); stringbuilder buf = new stringbuilder(); while (true) { int ch = r.read(); if (ch < 0) break; buf.append((char) ch); } string str = buf.tostring(); if (str.contains(constants.str_success)) { string[] lvals = str.split("~"); if (lvals != null) { (int = 0; < lvals.length; i++) { vals.add(lvals[i]); } } } } homecoming vals; } }
thanks in advance, jrh
android android-webview
No comments:
Post a Comment