android与H5交互 的问题

 遇到的问题   通过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 

 学习总结  加油 

 

 

 

 

你可能感兴趣的:(android与H5交互 的问题)