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

dev*_*r82 5 javascript android json webview

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

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

在我的 webview javascript 上我调用:

MyAPI.test({ a: 1, b: 2 });
Run Code Online (Sandbox Code Playgroud)

但数据变量为空。

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

谢谢

A.D*_*.D. 2

@njzk2是对的,这样做:

在Java中:

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

在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);
      }
   }
}
Run Code Online (Sandbox Code Playgroud)