是否可以通过WebView.addJavascriptInterface从JS端接收对象?

时间:2012-07-09 11:58:09

标签: javascript android cordova android-webview

我可以通过Object界面收到WebView.addJavascriptInterface吗?类似的东西:

public class JavaScriptInterface {
    public void method(WhatEverKindOfType param) {
        Log.i(tag, param.toString());
    }
}

(with:theView.addJavascriptInterface(new JavaScriptInterface(), "obj");

并在JS中,例如:obj.method(myEvent);

我显然尝试过Object paramString param,但它们都是null。我知道我可以JSON.stringify它,但这带来了循环对象问题(我知道这是可以解决的,但我不想开始搞乱它)

甚至可能吗?

1 个答案:

答案 0 :(得分:1)

首先,如果您使用的是PhoneGap,则不应使用addJavascriptInterface。请写一个PhoneGap plugin代替。您想要使用我们的插件界面的原因是我们已经解决了addJavascriptInterface的许多问题。

当您使用插件接口时,您将JSONArray传递给Java端。它支持所有基本类型,如int,String,boolean,当然还有JSONObject。您可以存储更多结构化数据的JSONObject。