从Android的WebView中获取JavaScript的返回值,可以通过以下步骤实现:
addJavascriptInterface
方法将一个Java对象注入到WebView中,使其在JavaScript中可访问。// 创建一个Java对象,用于与JavaScript进行通信
class JavaScriptInterface {
@JavascriptInterface
public void onReturnValue(String value) {
// 在这里处理JavaScript返回的值
}
}
// 将Java对象注入到WebView中
webView.addJavascriptInterface(new JavaScriptInterface(), "AndroidInterface");
window.AndroidInterface.onReturnValue(value)
方法将返回值传递给Java代码。这里的AndroidInterface
是在上一步中注入到WebView中的对象名。// 在JavaScript中调用Java代码,并传递返回值
var returnValue = "Hello, World!";
window.AndroidInterface.onReturnValue(returnValue);
shouldOverrideUrlLoading
方法来监听WebView中的URL变化,并在其中获取JavaScript返回的值。webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// 在这里获取JavaScript返回的值
if (url.startsWith("javascript:")) {
String returnValue = url.substring(11); // 去除"javascript:"前缀
// 处理返回值
return true;
}
return super.shouldOverrideUrlLoading(view, url);
}
});
通过以上步骤,就可以从Android的WebView中获取JavaScript的返回值了。
推荐的腾讯云相关产品:腾讯云移动浏览器(Tencent Mobile Browser),产品介绍链接地址:https://cloud.tencent.com/product/tmb
领取专属 10元无门槛券
手把手带您无忧上云