遇到的问题 通过WebView .loadUrl ()加载 空白的问题
ssl认证失败
重写
webView.setWebViewClient(new WebViewClient() { @Override public void onReceivedSslError(WebView webView, SslErrorHandler sslErrorHandler, SslError sslError) { sslErrorHandler.proceed();//继续 // sslErrorHandler.cancel();//取消 注意的是 把super 的方法去掉 } });
Android 与前端 交互 传值
传值 调用
//jsFunction 前端方法名
//param 传的内容 注意格式 是String 还是 jsonObject 等
JSONObject jsonObject = new JSONObject(); try { jsonObject.put("assid", ""); jsonObject.put("sssid", ""); } catch (JSONException e) { e.printStackTrace(); }
webView.loadUrl(("javascript:" + jsFunction + "(" + param + ")"))
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); webView.getSettings().setDomStorageEnabled(true);// webView.getSettings().setLoadWithOverviewMode(true);
//设置支持js webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAllowUniversalAccessFromFileURLs(true); //关键 webView.addJavascriptInterface(this ,"前端方法名");
通过注解 调用 页面里的方法
@JavascriptInterface
注意的问题 WevVIew 内存泄漏 与前端调用的方法名 必须一致 。传递的数据类型 解析等
还遇到了一个 使用Array list 线程安全的问题 并发异常 https://blog.csdn.net/u010002184/article/details/90452918
使用 CopyOnWriteArrayList 代替 Array list
学习总结 加油