Per*_*eus 8 javascript android javascript-injection android-webview kotlin
我已经使用 WebView 组件加载了一个网页并添加了一个 JavascriptInterface。请检查下面的代码,
\n\nval webview = WebView(this)\nsetContentView(webview)\nwebview.settings.javaScriptEnabled = true\nwebview.loadUrl(HOME_PAGE_URL)\nwebview.addJavascriptInterface(JavascriptInterface(),\xe2\x80\x9djavascript_bridge\xe2\x80\x9d)\nRun Code Online (Sandbox Code Playgroud)\n\n当我使用 Javascript 调用调用时window.javascript_bridge.showToast(\xe2\x80\x9cInformation Saved\xe2\x80\x9d);
private inner class JavascriptInterface\n{\n @android.webkit.JavascriptInterface\n fun showToast(text: String?)\n {\n Log.d("WEBVIEW", text);\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我可以毫无问题地从 Javascript 调用该方法到 Kotlin。
\n\n但现在我想将一个对象从 Javascript 传递到 Kotlin,如下所示,
\n\nvar info = {\n message: \xe2\x80\x9cInformation Saved\xe2\x80\x9d,\n ID: 123456\n}\nRun Code Online (Sandbox Code Playgroud)\n\n当我使用 Javascript 调用调用时window.javascript_bridge.showToast(info);
我尝试将数据类型更改为 Any,但从 Javascript 传递的值为 null
\n\nprivate inner class JavascriptInterface\n{\n @android.webkit.JavascriptInterface\n fun showToast(text: Any?)\n {\n Log.d("WEBVIEW", text.toString());\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
5670 次 |
| 最近记录: |