问题描述及解决方法
注意调用 loadUrl()方法时候传的字符串
使用 loadUrl("javascript:init(\"$param\")")
调用 js 方法时,要注意参数 param 两端需要有双引号 "
,否则 webview 会报错,双引号也要注意要使用反斜杠 \
转义
注意参数内容
参数内容里如果有引号、回车等特殊字符也要进行转义,目前只遇到这两个特殊字符有问题,遇到新问题后再修改下面的转义方法即可
private fun getEscapedString(input: String?): String { return if (input.isNullOrEmpty()) { "" } else { input.replace("\n", "\\n") .replace("\"", "\\\"") } }