安卓开发之解决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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值