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 传递到本机方法?
谢谢
@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)