我在
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);
}
}
}