Android – 将JSON对象从webview javascript传递给java

我在
java端有一个带有webview和
javascript接口的Activity.我想用
Java编写一个可以接受来自webview的json参数的方法.

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

在我的webview javascript上我打电话:

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

但是数据变量为空.

如何将webview javascript中的JSON对象传递给本机方法?

谢谢

最佳答案 @ 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);
      }
   }
}
点赞