安卓webview活动,如何获取js返回值
Android webview activity,how to get js return value?
js代码如下:函数a(){return"hello";}
在androidwebview活动中,如何调用js函数a()得到返回值"hello"?
webview.addJavaInterface?webview.loadUrl()?我拿不到。
请告诉我如何解决这个问题。
我的建议是:
1-定义Javascript接口
一个带有一些方法和属性的普通Java类,使用注释将您想要的方法公开给webview JS范围
public class MyInterface {
private WebView webView;
//pass the reference to the webview in your constructor
public JavascriptCallback(WebView webView) {
this.webView = webView;
}
//expose this method to the JS scope using annotation
@JavascriptInterface
void sumNumbers(final String num1, final String num2, final String JScallbackFn) {
this.javascriptCallback(JScallbackFn, num1 + num2);
}
//run the callback into the JS scope
void javascriptCallback(final String callback, final String result) {
webView.post(new Runnable() {
@Override
public void run() { webView.load("javascript:"+callback+"("+result+")", null);
}
});
}
2-在您的webview 中注入JavaScript接口
webview.addJavascriptInterface(new MyInterface(this.getActivity(), webview), "MyInterface");
3-调用JS方法(从webview中)
MyInterface.sumNumbers(12, 34, showResult);
function showResult(res) {
document.getElementById('myDiv').innerHTML(res);
}
有关webview如何在Android上工作的更多详细解释,请查看官方文档http://developer.android.com/guide/webapps/webview.html
相关文章:
- 从新的WordPress媒体上传程序获取JS回调
- 正在获取JS Slider页码
- 如何从谷歌脚本中获取JS变量
- 获取js对象键的值
- 如何从方法内部获取js方法名称
- 在php中获取JS var的值
- 使用 PHP 和 REGEX 解析 JS 脚本以获取 JS 变量值
- 获取JS中特定路径的cookie,不包括根路径
- 获取js执行环境的版本描述
- 获取js对象中值对应的键
- 安卓webview活动,如何获取js返回值
- 不断获取JS函数未定义错误
- 从C#中获取JS中对象文字的属性
- 在 Laravel 控制器中获取 js 值
- 获取 js 中包含 jsp 的值
- 获取 js 中链接的值
- 获取 JS 中的下拉变量返回未定义
- 从数组中获取 JS 函数的最小值和最大值
- 如何直接从 htmlparser2 获取 js 上下文
- 任何使用scratch获取JS对象的方法