I'm trying to pull some webpage source code from a WebView in an Android app. I've managed, using this: http://lexandera.com/2009/01/extracting-html-from-a-webview/
plus this to make it work after KitKat:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
webView.evaluateJavascript(
"(function() { return ('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>'); })();",
new ValueCallback<String>() {
@Override
public void onReceiveValue(String html) {
outputViewer.setText(html);
}
});
}else{
webView.loadUrl("javascript:window.HTMLOUT.showHTML" +
"('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>');");
}
Now, the problem is that the non-kitkat version returns exactly what I want. The KitKat version however returns an escaped version of the code, something like this:
"\u003Chtml>\u003Chead>\n\t\u003Cmeta charset=\"UTF-8\">\n\t\u003Cmeta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n\t\u003Clink rel=\"profile\" href=\"http://gmpg.org/xfn/11\">\n\t\u003Clink rel=\"pingback\"
Is there a straight forward way to unescape that string on Android?
Mike