首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android - 使用WebView评估javascript字符串并返回值

作为一个云计算领域的专家,我了解到您的问题是关于在Android应用中使用WebView评估JavaScript字符串并返回值。以下是我的回答:

在Android应用中,使用WebView评估JavaScript字符串并返回值可以通过以下步骤实现:

  1. 首先,在Android应用中创建一个WebView实例,并启用JavaScript支持。
代码语言:java
复制
WebView webView = new WebView(this);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
  1. 创建一个JavaScript接口类,该类将用于在WebView中执行JavaScript代码。
代码语言:java
复制
public class JavaScriptInterface {
    private Context context;

    public JavaScriptInterface(Context context) {
        this.context = context;
    }

    @JavascriptInterface
    public void processResult(String result) {
        // 处理JavaScript返回的结果
    }
}
  1. 将JavaScript接口类绑定到WebView。
代码语言:java
复制
webView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
  1. 在WebView中加载HTML页面,并在页面中执行JavaScript代码。
代码语言:java
复制
webView.loadData("<html><body<script>Android.processResult(eval('your_javascript_string_here'));</script></body></html>", "text/html", "UTF-8");
  1. 在JavaScript接口类中处理JavaScript返回的结果。
代码语言:java
复制
public void processResult(String result) {
    // 处理JavaScript返回的结果
}

通过以上步骤,您可以在Android应用中使用WebView评估JavaScript字符串并返回值。请注意,为了确保安全性,您应该仅在可信任的JavaScript代码中执行此操作。

推荐的腾讯云相关产品:

这些产品可以帮助您更好地开发和部署Android应用,并提供更好的用户体验。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android中Java和JavaScript交互

Android中Java和JavaScript交互 Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本。...调用js的基本格式为webView.loadUrl(“javascript:methodName(parameterValues)”) 调用js无参无返回值函数 String call = "javascript...:sayHello()"; webView.loadUrl(call); 调用js有参无返回值函数 注意对于字符串作为参数值需要进行转义双引号。...String call = "javascript:alertMessage(\"" + "content" + "\")"; webView.loadUrl(call); 调用js有参数有返回值的函数...Android在4.4之前并没有提供直接调用js函数获取值的方法,所以在此之前,常用的思路是 java调用js方法,js方法执行完毕,再次调用java代码将值返回。

1.4K60

Android中Java和JavaScript交互

Android提供了一个很强大的WebView控件用来处理Web网页,而在网页中,JavaScript又是一个很举足轻重的脚本。本文将介绍如何实现Java代码和Javascript代码的相互调用。...WebView开启JavaScript脚本执行 WebView设置供JavaScript调用的交互接口。 客户端和网页端编写调用对方的代码。...调用js的基本格式为webView.loadUrl(“javascript:methodName(parameterValues)”) 调用js无参无返回值函数 lineos:false 1 2 String...call = "javascript:sayHello()"; webView.loadUrl(call); 调用js有参无返回值函数 注意对于字符串作为参数值需要进行转义双引号。...); 调用js有参数有返回值的函数 Android在4.4之前并没有提供直接调用js函数获取值的方法,所以在此之前,常用的思路是 java调用js方法,js方法执行完毕,再次调用java代码将值返回

88220

JS & JAVA(Android) 的互相调用(简介)

javascript:changeColor()"); 在android 4.4 之后我们可以使用最新的办法,这个也是用于如果js代码有返回值的话我们可以使用String来接收; mWebView.evaluateJavascript...一、 Android 4.4 之前 JAVA 调用J S取到返回值 目前的解决方案是通过java反射机制 在android.webkit包中有个BrowserFrame私有类,该类中有个Native...添加方法,使用反射实现。...2.将布局文件中的WebView修改为自定义的WebView 3.使用新的WebView调用方法,执行js方法获取返回值 自定义WebView如下 public String stringByEvaluatingJavaScriptFromString...,一定要记住使用单引号 ’ 将其包裹,否则 JavaScript(可能)会无法解析这个字符串,提示未定义。

72820

Android开发进阶系列,整理】Android与h5交互专题

1 交互原理 1.1 webview如何加载H5页面         我们都知道在Android中是通过webView来加载html页面的,根据HTML文件所在的位置不同写法也不同: *//加载assets...①调用H5中无参无返回值的方法     直接可以调用mWebView.loadUrl("JavaScript:show()");图2为H5中show()方法。...mWebView.loadUrl("JavaScript:show()"); 图2:android调用H5中无参数无返回值的方法,截图为H5中的方法 1.2.3 调用H5中带返回值的方法...1.3.1 @JavascriptInterface注解使用     在Android4.2以上可以直接使用@JavascriptInterface注解来声明,下面是在一个本地Java方法  public...①.Java调用js代码 String call = "javascript: sumToJava(1, 2)"; webView.loadUrl(call); ②.js函数处理,并将结果通过调用java

41840

Android开发笔记(六十四)网页加载与JS调用

中注册该java代码的对象,演示javascript的调用过程: wv_web.getSettings().setJavaScriptEnabled(true); wv_web.addJavascriptInterface...:showMsgInAndroid()">调用android方法 Android与js互调获得返回值 js调用Android方法,可直接获取调用的返回值,难点在于Android调用...因为WebView加载网页是异步的,所以loadUrl方法调用js无法直接获得返回值。多数情况只能在js代码中回调Android方法,从而间接获取Android调用js的返回值。...4、js获取Android方法返回值中的中文是正常,但Android获取js方法返回值的中文却是“\u”打头的字符串,所以Android要先将js返回的字符串做转义处理,即调用上面的UnicodeToString...代码示例 下面是WebView使用的代码例子: import android.annotation.SuppressLint; import android.app.Activity; import

6.2K10

Android应用安全解决方案

name to the JavaScript interface # class: #-keepclassmembers class fqcn.of.javascript.interface.for.webview...明文存储密码风险 解决方案 WebView.getSettings().setSavePassword(false) Webview File同源策略绕过漏洞 将不必要导出的组件设置为不导出,显式设置所注册组件的...“android:exported”属性为false 如果需要导出组件,禁止使用File域 WebView.getSettings.setAllowFileAccess(false); 应用数据任意备份风险...URL信息检测就是通过检测移动应用程序代码内部所存在的URL地址信息,尽可能呈现出应用中所有的URL信息,便于应用开发者查看评估其安全性。...解决方案 1、核查评估所有的URL信息,判断是否存在涉及内部业务等敏感信息的URL地址,进行删除; 2、尽量不要将与客户端业务相关的URL信息以硬编码的方式写在应用客户端中,建议以动态的方式生成所需要请求的

1.1K40

Carson带你学Android:你要的WebView与 JS 交互方式都在这里了

学习攻略 Carson带你学Android:最全面、最易懂的Webview使用详解 Carson带你学Android:全面总结WebView与 JS 的交互方式 Carson带你学Android:...() 方式1:通过WebView的loadUrl() 实例介绍:点击Android按钮,即调用WebView JS(文本名为javascript)中callJS() 具体使用: 步骤1:将需要调用的JS...Android 4.4 后才可使用 具体使用 // 只需要将第一种方法的loadUrl()换成下面该方法即可 mWebView.evaluateJavascript("javascript:callJS...; // 因为该方法在 Android 4.4 版本才可使用,所以使用时需进行版本判断 if (version < 18) { mWebView.loadUrl("javascript:callJS...如果JS想要得到Android方法的返回值,只能通过 WebView 的 loadUrl ()去执行 JS 方法把返回值传递回去,相关的代码如下: // Android:MainActivity.java

80920

Android:你要的WebView与 JS 交互方式 都在这里了

Android 4.4 后才可使用 具体使用 // 只需要将第一种方法的loadUrl()换成下面该方法即可 mWebView.evaluateJavascript("javascript:callJS...; // 因为该方法在 Android 4.4 版本才可使用,所以使用时需进行版本判断 if (version < 18) { mWebView.loadUrl("javascript:callJS...特点 优点:使用简单 仅将Android对象和JS对象映射即可 缺点:存在严重的漏洞问题,具体请看文章:你不知道的 Android WebView 使用漏洞 方式2:通过 WebViewClient...如果JS想要得到Android方法的返回值,只能通过 WebView 的 loadUrl ()去执行 JS 方法把返回值传递回去,相关的代码如下: // Android:MainActivity.java...关于WebView的系列文章对你有所帮助 Android开发:最全面、最易懂的Webview详解 Android:你不知道的 WebView 使用漏洞 手把手教你构建 Android WebView

4.9K31

Android WebView与JS交互全面详解(小结)

Android 和 H5 都是移动开发应用的非常广泛。市面上很多App都是使用Android开发的,但使用Android来开发一些比较复杂附属类,提示性的页面是得不偿失的。...具体分析 2.1 Android通过WebView调用 JS 代码 方式1:通过WebView的loadUrl() 实例介绍:点击Android按钮,即调用WebView JS(文本名为javascript...Android 4.4 后才可使用 具体使用 // 只需要将第一种方法的loadUrl()换成下面该方法即可 mWebView.evaluateJavascript("javascript:callJS...; // 因为该方法在 Android 4.4 版本才可使用,所以使用时需进行版本判断 if (version < 18) { mWebView.loadUrl("javascript:callJS...如果JS想要得到Android方法的返回值,只能通过 WebView 的 loadUrl ()去执行 JS 方法把返回值传递回去,相关的代码如下: // Android:MainActivity.java

5.8K20

WebView深度学习(一)之WebView的基本使用以及Android和js的交互

五、WebView使用漏洞 及其修复方式 六、WebView 的缓存机制 & 资源预加载方案 由于内容太多,分三篇讲解: WebView深度学习(一)之WebView的基本使用以及Android...; // 因为该方法在 Android 4.4 版本才可使用,所以使用时需进行版本判断 if (version < 18) { mWebView.loadUrl("javascript:callJS...3.特点: 优点:不存在方式1的漏洞; 缺点:JS获取Android方法的返回值复杂。...如果JS想要得到Android方法的返回值,只能通过 WebView 的 loadUrl ()去执行 JS 方法把返回值传递回去,相关的代码如下: // Android:MainActivity.java...("js调用了Android的方法"); // 可以在协议上带有参数传递到Android

5.9K31

JSBridge深度剖析

Android端 Native调JS native调用js比较简单,只要遵循:”javascript: 方法名(‘参数,需要转为字符串’)”的规则即可。...在4.4之前,调用的方式: // mWebView = new WebView(this); mWebView.loadUrl("javascript: 方法名('参数,需要转为字符串...javascript: 方法名('参数,需要转为字符串')", new ValueCallback() { @Override public void onReceiveValue...) mWebView.loadUrl(“javascript: 方法名(‘参数,需要转为字符串’)”);函数需在UI线程运行,因为mWebView为UI控件 JS调Native Js调用Native需要对...其实使用JSBridge有很多方面的考虑: Android4.2以下,addJavascriptInterface方式有安全漏掉 iOS7以下,JS无法调用Native url scheme交互方式是一套现有的成熟方案

3.4K60

浅谈Hybrid

通过更加定制化的 JSBridge,使用WebView 双线程的模式隔离了 JS 逻辑与 UI 渲染,形成了特殊的开发模式,加强了 H5 与 Native 混合程度,提高了页面性能及开发体验。...Native App 是一种基于智能手机本地操作系统如 iOS、Android、WP 使用原生程式编写运行的第三方应用程序,也叫本地 app。...但这几种方法在实际的使用中有利有弊,但由于prompt是几个里面唯一可以自定义返回值,可以做同步交互的,所以在目前的使用中,prompt是使用的最多的。...// mWebView = new WebView(this); //即当前webview对象 mWebView.loadUrl("javascript: 方法名('参数,需要转为字符串')"); /...//异步执行JS代码,获取返回值 mWebView.evaluateJavascript("javascript: 方法名('参数,需要转为字符串')", new ValueCallback() {

6.7K30

Android webview 与 js(Vue) 交互

二、Android 原生调用 JS 中的方法 Android 调用 JS 有两种方式,都是通过 WebView 的方法: webview.loadUrl() webview.evaluateJavascript...,evaluateJavascript() 可以获取返回值 evaluateJavascript() 在 Android 4.4 之后才可以使用 要实现的效果: 如下图,页面上有一行文字 ”哈哈...“,要在 WebView 页面加载完的时候通过 Android 原生代码将这行字改为 ”我通过原生方法改变了文字“ + Android 传递过来的参数,Android 返回一个字符串 ”js调用成功...三、JS 调用 Android 原生方法 对于JS调用Android代码的方法有3种: 通过 WebView 的 addJavascriptInterface() 进行对象映射 通过 WebViewClient...4. 2 以下存在漏洞;第二种和第三种使用复杂,但不存在漏洞问题。

10.1K40

Android:你不知道的 WebView 使用漏洞

上述功能是由 AndroidWebView 实现的,但是 WebView 使用过程中存在许多漏洞,容易造成用户数据泄露等等危险,而很多人往往会忽视这个问题 今天我将全面介绍 Android WebView...的使用漏洞 及其修复方式 阅读本文前请先阅读: Android开发:最全面、最易懂的Webview详解 最全面 & 最详细的 Android WebView与JS的交互方式 汇总 ----...ComponentName 或者其他类似方式就可以很轻松的启动该 WebViewActivity 加载恶意url。...使用 JavaScript(默认是不允许) webView.getSettings().setJavaScriptEnabled(true); // 但很多应用(包括移动浏览器)为了让 WebView...总结 本文主要对Android WebView使用漏洞及其修复方式进行了全面介绍 关于WebView的系列文章希望对你有所帮助 Android开发:最全面、最易懂的Webview详解 最全面总结

3.1K20

Carson带你学Android:你不知道的 WebView 使用漏洞

前言 现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图 上述功能是由 AndroidWebView 实现的,但是 WebView 使用过程中存在许多漏洞...,容易造成用户数据泄露等等危险,而很多人往往会忽视这个问题 今天我将全面介绍 Android WebView使用漏洞 及其修复方式 目录 1....使用 JavaScript(默认是不允许) webView.getSettings().setJavaScriptEnabled(true); // 但很多应用(包括移动浏览器)为了让 WebView...总结 本文主要对Android WebView使用漏洞及其修复方式进行了全面介绍 Carson带你学WebView系列文章 Carson带你学Android:这是一份全面&详细的WebView学习攻略...Carson带你学Android:最全面、最易懂的Webview使用详解 Carson带你学Android:全面总结WebView与 JS 的交互方式 Carson带你学Android:手把手构建

1.1K10

WebView深度学习(三)之WebView的内存泄漏、漏洞以及缓存机制原理和解决方案

上两篇文章讲到了WebView的基本使用以及Android和js的交互 以及 全面总结WebView遇到的坑及优化 ,这篇文章讲一下内存泄漏和漏洞处理。...WebView 加载页面前加载一段本地的 JS 代码,原理是: 1) 让JS调用一Javascript方法:该方法是通过调用prompt()把JS中的信息(含特定标识,方法名称等)传递到Android...ComponentName 或者其他类似方式就可以很轻松的启动该 WebViewActivity 加载恶意url。...使用 JavaScript(默认是不允许),但很多应用(包括移动浏览器)为了让 WebView 执行 http 协议中的 JavaScript,都会主动设置为true,不区别对待是非常危险的,如下代码所示...(false); webView.setAllowUniversalAccessFromFileURLs(false); 2)对于需要使用 file 协议的应用,禁止 file 协议加载 JavaScript

2.6K10
领券