我可以通过 WebView.addJavascriptInterface
接口(interface)接收一个 Object
吗?像这样的东西:
public class JavaScriptInterface {
public void method(WhatEverKindOfType param) {
Log.i(tag, param.toString());
}
}
(使用:theView.addJavascriptInterface(new JavaScriptInterface(), "obj");
)
在JS
中,例如:obj.method(myEvent);
我显然尝试过,使用 Object param
和 String param
,但它们都是 null
。我知道我可以 JSON.stringify
它,但这会带来循环对象问题(这是可以解决的,我知道,但我不想开始弄乱它)
有可能吗?
最佳答案
首先,如果您使用的是 PhoneGap,则不应使用 addJavascriptInterface。请,请写一个PhoneGap plugin反而。您想要使用我们的插件接口(interface)的原因是我们已经解决了 addJavascriptInterface 的许多问题。
当您使用插件接口(interface)时,您将一个 JSONArray 传递给 Java 端。它支持所有基本类型,如 int、String、boolean,当然还有 JSONObject。您可以存储更多结构化数据的是 JSONObject。
关于javascript - 是否可以通过 WebView.addJavascriptInterface 从 JS 端接收对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11394554/