[置顶] Android(安卓)调用js,传对象到js里面使用addJavascriptInterface错误总结
16lz
2022-05-08
项目中需要加载html5界面,要将android中的list对象传入到js里面使用,我使用了如下方法:
chart_webview.addJavascriptInterface(array, "arrayHis");我就不详细说如何在android中使用js了,网上有很多的例子,我照着写了另外一个例子,是可以使用List对象的属性和方法的,但一拿到我的工程里面,就死活也没有,然后各种百度,各种找,各种google,最后发现,需要在主配置文件里面将android:targetSdkVersion写小一点,具体的原因是:低版本的没有对这个方法进行限制,高版本的发现了这个方法存在的漏洞,做了限制,具体解释如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="client.verbank.mtp.allone"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="10" />
解释如下:如何使用addJavascript方法 这位前辈已经写得很好了,我就不重复,记录一下我的错误,害我白忙活了这么久。
================================分割线,更新日期,android传递变量到js里面使用的格式书写形式======================
1.如果android里面传递字符串变量到js使用,需使用以下形式' "+ 变量名+" ',如果是这种形式"+变量名+"这样会报错,这是找了半天的错误教训,希望对新手有帮助,如果传递的是数字的类型,以下形式是可以的"+变量名+",我猜测的是数字的类型在js里面会自动转换成int类型,所以不会出错,但还是建议所有的变量都写成如下代码的形式,避免出错:
candlestickDraw.getWebView().loadUrl("javascript:addMATiArgument('" + tiName+ "','maLineWidth'," + map.get("maLineWidth")+ ")");
更多相关文章
- 【Android】直接连接SqlServer
- Android学习——MediaScanner源码分析
- Android中AlertDialog的使用小结
- Android基础入门教程——8.4.4 Android动画合集之属性动画-又见
- Android中AsyncTask的简单用法
- Android高手进阶教程(十七)之---Android中Intent传递对象的两种
- Android(安卓)消息机制
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用