安卓开发之解决JS不能调用Android方法填坑

安卓开发之解决JS不能调用Android方法

遇到问题之后,看了该博主的解决方法深有感悟,虽然踩得不是和该博主原因的坑,依然收获不少,在此先把该博主的相关博文链接奉上
https://blog.csdn.net/qq_37475168/article/details/81080325

我踩坑前提

我尝试对比了各种博客关于js与Android互相调用的设置,自己一一做了比对:

  1. webview设置了JavaScriptEnabled为true,保证了webview可以使用js语法;
  2. webview设置了 addJavascriptInterface(this, “YdjInterface”),保证了两个参数里,第一个包含了js要调用的方法,也保证了js那边调的时候是YdjInterface对象;
  3. Android要被调用的方法也加了@JavascriptInterface,并且该方法也设置了public属性;
  4. 与前端核对了调用的对象以及方法名称和参数无误;

原因所在

webview的设置出现了问题,在设置UserAgent的时候,没有将UserAgent设置成与前端匹配的值,具体设置如下:
String ua = setings.getUserAgentString();
setings.setUserAgentString(ua + “;与前端商量好的接口”);
我将webview的settings做了如上的修改之后,js就成功调用了我的方法了

关于webview的UserAgent的设置参考博客地址

https://blog.csdn.net/qing666888/article/details/59695727

你可能感兴趣的:(安卓开发之解决JS不能调用Android方法填坑)