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

标签 javascript android cordova android-webview

我可以通过 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 paramString 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/

相关文章:

windows-8 - 如何安装PhoneGap?

javascript - iOS上的Cordova:应用程序在发送到后台之前没有音频

android - 创建 PhoneGap 3.0.0 项目错误 - 'platform add android' 我不是节点

javascript - AngularJS 中获取点击元素的 ID

javascript - 通过 3 个 json 文件创建嵌套菜单

android - 如何处理 ListView 中的快速连续点击

Android Blur View(模糊 View 后面的背景)

javascript - 访问和更改数据值

输入名称的 Javascript 正则表达式

android - 如何使用 Ollie 进行架构迁移?