javascript - Android - 将 JSON 对象从 webview javascript 传递到 java

标签 javascript android json webview

我在 java 端有一个带有 webview 和 javascript 接口(interface)的 Activity。我想用 Java 编写一个可以从 webview 接受 json 参数的方法。

@JavascriptInterface
public String test(Object data) {
    Log.d("TEST", "data = " + data);
}

在我调用的 webview javascript 上:

MyAPI.test({ a: 1, b: 2 });

但数据变量为空。

如何将 JSON 对象从 webview javascript 传递到本地方法?

谢谢

最佳答案

@njzk2 是对的,这样做:

在 JAVA 中:

@JavascriptInterface
public String test(String data) {
   Log.d("TEST", "data = " + data);
   return "this is just a test";
}

在 JS 中:

// some code 
var result = test("{ a: 1, b: 2 }");
alert(result);
//some code

function test(args) {
   if (typeof Android != "undefined"){ // check the bridge 
      if (Android.test!= "undefined") { // check the method
         Android.test(args);
      }
   }
}

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

相关文章:

javascript - Jquery UI 模态对话框,将焦点设置在第一个表单元素上

Android 退出自己的 Launcher App

android - Android 中的 Intent 解析

javascript - ExtJs getTotalCount() 不返回存储中的记录数

php - file_put_contents 不适用于 json laravel 和 php

javascript - 随机化 li 项并卡住多个

Javascript 类与对象,优缺点?

android - 是否可以使用 Google Checkout 在我的 Android 应用程序中接受所有货币的付款?

javascript - Ruby on rails/Javascript 小部件

javascript - 如何根据单击的对象的 id 调整变量?