Posts

Showing posts with the label Android Webview

Android - How To Get Plain HTML Using EvaluateJavascript From Webview? JSOUP Not Able To Parse The Result HTML

Answer : You should use JsonReader to parse the value: webView.evaluateJavascript("(function() {return document.getElementsByTagName('html')[0].outerHTML;})();", new ValueCallback<String>() { @Override public void onReceiveValue(final String value) { JsonReader reader = new JsonReader(new StringReader(value)); reader.setLenient(true); try { if(reader.peek() == JsonToken.STRING) { String domStr = reader.nextString(); if(domStr != null) { handleResponseSuccessByBody(domStr); } } } catch (IOException e) { // handle exception } finally { IoUtil.close(reader); } } }); for remove the UTFCharacthers use this function: public static StringBuffer removeUTFCharacters(String data) { Pattern p = Pattern.compile("\\\\u(\\p{XDigit}{4})"); Matcher m = p.matcher(data); ...

Android WebView Not Loading URL

Answer : Did you added the internet permission in your manifest file ? if not add the following line. <uses-permission android:name="android.permission.INTERNET"/> hope this will help you. EDIT Use the below lines. public class WebViewDemo extends Activity { private WebView webView; Activity activity ; private ProgressDialog progDailog; @SuppressLint("NewApi") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); activity = this; progDailog = ProgressDialog.show(activity, "Loading","Please wait...", true); progDailog.setCancelable(false); webView = (WebView) findViewById(R.id.webview_compontent); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setLoadWithOverviewMode(t...

Android Webview Set Proxy Programmatically Kitkat

Answer : Here is my solution: public static void setKitKatWebViewProxy(Context appContext, String host, int port) { System.setProperty("http.proxyHost", host); System.setProperty("http.proxyPort", port + ""); System.setProperty("https.proxyHost", host); System.setProperty("https.proxyPort", port + ""); try { Class applictionCls = Class.forName("android.app.Application"); Field loadedApkField = applictionCls.getDeclaredField("mLoadedApk"); loadedApkField.setAccessible(true); Object loadedApk = loadedApkField.get(appContext); Class loadedApkCls = Class.forName("android.app.LoadedApk"); Field receiversField = loadedApkCls.getDeclaredField("mReceivers"); receiversField.setAccessible(true); ArrayMap receivers = (ArrayMap) receiversField.get(loadedApk); for (Object receiverMap : receivers.values())...