javascript - 将 JSON 对象从 JavaScript 传递到 Android

标签 javascript android json code-injection

到目前为止,我的应用程序记录了在 Web View 中执行的许多函数并将它们存储到变量中。这是使用 JavaScript 完成的,我已将其注入(inject)到我的 Android 应用程序中。到目前为止,我已经使用 JSON stringify 函数创建了一个 JSONObject,如图所示。

var myJSONText = JSON.stringify(chars);

我的问题是如何将 myJSONText 变量从 JavaScript 获取到 Java,以便我可以在那里摆弄它。我已经厌倦了寻找如何做到这一点,但没有任何运气。任何帮助或链接将不胜感激。

最佳答案

将 JavascriptInterface 添加到您的 web View :

webView.addJavascriptInterface(new MyJavascriptInterface(), "HTMLOUT");
webView.getSettings().setJavaScriptEnabled(true);

让 JavacriptInterface 具有如下方法:

public void receiveJSON(String json);

在 JavaScript 中调用此方法:

document.write(window.HTMLOUT.receiveJSON(myJSONText));

关于javascript - 将 JSON 对象从 JavaScript 传递到 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24673541/

相关文章:

javascript - Jest 导入重新导出的命名导出

javascript - 如何在 JavaScript 中强制同步重新布局

javascript - 循环遍历 3 个数组,仅当第 3 个数组中有值时才获取每个索引位置的最大值,否则返回 0

java - Android:异步任务和 UI

c# - 使用 JSON 填充现有对象

ruby-on-rails - 为多个 Rails 对象呈现 JSON

javascript - Npm - 在 1 个命令行中更新并保存 deps 和 depsDev?

javascript - Marionette 路由器未定义

android - Air Mobile 中的 StageVideo 回退不起作用。视频组件无法播放 .mp4

javascript - react native : Android app crash after location permission is denied by user