admin管理员组文章数量:1323035
I have an Activity with a webview and a javascript interface on the java side.I would like to write a method in Java that can accept a json paramater from the webview.
@JavascriptInterface
public String test(Object data) {
Log.d("TEST", "data = " + data);
}
on my webview javascript I call:
MyAPI.test({ a: 1, b: 2 });
but the data variable is null.
How can I pass JSON objects from webview javascript into native method?
Thanks
I have an Activity with a webview and a javascript interface on the java side.I would like to write a method in Java that can accept a json paramater from the webview.
@JavascriptInterface
public String test(Object data) {
Log.d("TEST", "data = " + data);
}
on my webview javascript I call:
MyAPI.test({ a: 1, b: 2 });
but the data variable is null.
How can I pass JSON objects from webview javascript into native method?
Thanks
Share Improve this question asked Feb 25, 2014 at 21:58 developer82developer82 13.7k24 gold badges93 silver badges163 bronze badges 1- 3 You can only pass Strings and primitives. – njzk2 Commented Feb 25, 2014 at 22:01
2 Answers
Reset to default 3You can use GSON library or similar to create Stringified JSON to Java object, and JSON.stringify(data)
on JS side
@njzk2 is right, do it like this:
In JAVA:
@JavascriptInterface
public String test(String data) {
Log.d("TEST", "data = " + data);
return "this is just a test";
}
In 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);
}
}
}
本文标签: AndroidPassing JSON object from webview javascript to javaStack Overflow
版权声明:本文标题:Android - Passing JSON object from webview javascript to java - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742109067a2421160.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论