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

如何从android的webview中获取javascript的返回值?

从Android的WebView中获取JavaScript的返回值,可以通过以下步骤实现:

  1. 首先,需要在Android的Java代码中设置一个JavaScript接口,用于与WebView中的JavaScript进行通信。可以使用addJavascriptInterface方法将一个Java对象注入到WebView中,使其在JavaScript中可访问。
代码语言:java
复制
// 创建一个Java对象,用于与JavaScript进行通信
class JavaScriptInterface {
    @JavascriptInterface
    public void onReturnValue(String value) {
        // 在这里处理JavaScript返回的值
    }
}

// 将Java对象注入到WebView中
webView.addJavascriptInterface(new JavaScriptInterface(), "AndroidInterface");
  1. 在JavaScript中,通过调用window.AndroidInterface.onReturnValue(value)方法将返回值传递给Java代码。这里的AndroidInterface是在上一步中注入到WebView中的对象名。
代码语言:javascript
复制
// 在JavaScript中调用Java代码,并传递返回值
var returnValue = "Hello, World!";
window.AndroidInterface.onReturnValue(returnValue);
  1. 在Java代码中,可以通过重写shouldOverrideUrlLoading方法来监听WebView中的URL变化,并在其中获取JavaScript返回的值。
代码语言:java
复制
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

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

相关·内容

Android onActivityResult获取返回值用法

显式意图通常主要是启动本应用Activity之间数据,而隐式意图则常见于启动系统某些特定动作,比如打电话,或者是跨应用Activity启动。...Android 系统会根据隐式意图中设置动作(action)、类别(category)、数据(URI和数据类型)找到最合适组件来处理这个意图。...MainActivity里面的主要代码 (1)当需要返回值时,那么在启动另一个Activity时要用到startActivityForResult(intent, REQUEST_CODE); 注意第二个参数是请求...(2)onActivityResult()方法第二个参数就是SecondActivity传回来键,第三个参数就是SecondActivity传回来键对应值。...: 这个里面的 RESULT_CODE、intent 分别跟上段代码 onActivityResult() 方法第二个、第三个参数相对应。

1.2K30

Android开发笔记之如何正确获取WebView网页Title

前言 现在APP中用到H5页面的越来越多,而如何正确获取WebView网页title是必须要考虑。...最近做项目的时候,老大让我把之前做webview打开网页功能修改一下,说是要动态获取网页标题,然后显示在我们自己app标题栏上,然后我就屁颠屁颠跑去看webview源码,看看有没有获取标题这个方法...网上能查大部分方法都是在WebChromeClientonReceivedTitle(WebView view, String title)拿到title。...但是这个方法在网页回退时是无法拿到正确上一级标题,网上处理方法是自己维护一个List去缓存标题,在执行完webView.goBack()后,移除List最后一条,再将新最后一条设置给标题栏。...这里采用原生WebBackForwardList获取,详见代码。

2.5K10

Android WebView 截图实现方式

其中,截图行为,越来越成为丰富用户操作、备受用户喜爱互动方式之一,我们在很多内容社区类应用中都能看到这种功能。这篇文章总结一下 Android 应用 WebView 截图实现方式。...WebView 作为一种特殊控件,自然不能像其他系统 View 或者截屏方式来获取截图(多为截取长图)。...然而当你在 Android 5.0 及更高版本系统设备操作时,你会发现,截图显示并不完全。虽然图片宽高符合实际要求,但是内容只包含当前屏幕显示区域内 WebView 内容。...原因在于,为了减少内存占用和提升性能, Android 5.0 开始,系统能够智能化地选择部分 Html 文档进行渲染。...总结 以上所述是小编给大家介绍Android WebView 截图实现方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家。在此也非常感谢大家对ZaLou.Cn支持!

2.3K10

Android获取WebView加载url请求错误码 【推荐】

例如需求,我有一个WebView 加载一个url, 该url对应网页本身自带下拉刷新 ,但是网页本身会有出现400 500 等异常请求错误码 这时候网页加载失败,页面本身下拉是无法使用,要求重新加载页面的话就需要在...webview外层套一个android下拉控件(SwipeRefreshLayout) 这样导致下拉一定用SwipeRefreshLayout下拉 最终要求是如果页面加载成功的话,用页面本身下拉,...如果页面加载失败的话,用android下拉控件下拉 ——————————————————————————————————————————————– 解决办法就是监听加载url请求错误码,对SwipeRefreshLayout.setEnabled...")) { refresh.setEnabled(true); } } } }); 总结 以上所述是小编给大家介绍Android...获取WebView加载url请求错误码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

1.1K20

【编程基础】Android如何获取资源尺寸?

Android为了实现不同屏幕适配,经常会用到在不同dimen.xml文件对于同一dimen ID定义不同大小,然后在代码通过getDimension函数来获取,下面就来说说几种getDimension...getDimension()是基于当前DisplayMetrics进行转换,获取指定资源id对应尺寸。文档里并没说这里返回就是像素,要注意这个函数返回值是float,像素肯定是int。...getDimensionPixelOffset()与getDimension()功能类似,不同是将结果转换为int,并且偏移转换(offset conversion,函数命名offset是这个意思...getDimension和getDimensionPixelOffset功能类似,都是获取某个dimen值,但是如果单位是dp或sp,则需要将其乘以density,如果是px,则不乘,并且getDimension...我用手机density是2.0所以所以会乘以2。

2.4K70

如何使用AndroidQF快速Android设备获取安全取证信息

关于AndroidQF AndroidQF,全称为Android快速取证(Android Quick Forensics)工具,这是一款便携式工具,可以帮助广大研究人员快速目标Android设备获取相关信息安全取证数据...AndroidQF旨在给广大研究人员提供一个简单且可移植跨平台实用程序,以快速Android设备获取信息安全取证数据。...它功能有些类似于mvt-android,但是跟MVT相比,AndroidQF优势就在于它可以让很多不懂技术用户也能够轻松地使用。...工具下载 广大研究人员可以直接访问该项目的【Releases页面】下载获取最新版本AndroidQF。...在执行过程某个时刻,AndroidQF会提示用户进行一些选择操作,而这些提示一定需要用户选择之后工具才会继续进行取证收集。

7K30

Android拦截并获取WebView内部POST请求参数实现方法

起因: 有些时候自家APP嵌入H5页面并不是自家。但是很多时候又想在H5不知情情况下获取H5内部请求参数,这应该怎么做到呢? 带着这个疑问,就有了这篇博客。...实现过程: 方案一: 最开始想到方案是直接拦截H5所有的请求: webView.setWebViewClient(new WebViewClient() { @Override public...get请求参数(因为参数直接拼在了url链接),对于post请求参数无可奈何。...反思: •开发过程遇到了页面一直显示不了问题,实际上就是因为获取mime是”text/html; charset=utf-8″,得改成”text/html”; •通过此方法也可篡改response...GitHub地址:webview_post_data 总结 以上所述是小编给大家介绍Android拦截并获取WebView内部POST请求参数实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言

4.6K10

Android webview如何加载HTML,CSS等语言示例

android开发webview时候,有的时候后台不一定给就是一个url,而是把一些HTML,css,js语言代码给你,然后你自行组装出webview能够识别的语言,并加载到页面当中。...加载html无非有三种情况:一、存放在assets文件夹下html文件;二、直接加载某个指定网页。 三、网络上解析得到html代码,注意此处是代码,即字符串格式。...v=4b3e3"] */ 假如后台给你一个url,而url实则是json数据对应连接,并不能直接加载到webview当中,此时该如何解决。...代码分析 在往常前端开发当中一般都是自己写HTML和CSS代码,然后显示在浏览器,也就androidwebview。对于android这种情况,只能拼接代码。...后台提供相应代码,android开发自己拼接。其实没有那么想象那么难,因为说到底都是字符串,对字符串进行一定格式化就能轻易达到效果。

2.2K20

Android 如何获取有效DeviceId

Android 10上DeviceId Android 10 开始,应用必须具有 READ_PRIVILEGED_PHONE_STATE 特许权限才能访问设备不可重置标识符(包含 IMEI 和序列号...在 Android 6.0(API 级别 23)到 Android 9(API 级别 28),无法通过第三方 API 使用 Wi-Fi 和蓝牙等本地设备 Mac 地址。...此外,在 Android 6.0 到 Android 9 版本,您还必须拥有下列权限,才能访问通过蓝牙和 Wi-Fi 扫描获得附近外部设备 MAC 地址: 方法/属性 所需权限 WifiManager.getScanResults...而8.0之前,ANDROID_ID是与设备关联,当设备首次启动时,系统会随机生成一个64位数字,并以16进制字符串形式保存到手机系统,当手机恢复出厂设置后,Android ID会被重置,这是Android...当然还有其他bug,比如有些厂家获取为null之类。 所以,ANDROID_ID是可以考虑选择之一,后面细说。

6.4K30

Android项目实战(五十六):获取WebView加载url请求错误码

例如需求,我有一个WebView 加载一个url, 该url对应网页本身自带下拉刷新 ,但是网页本身会有出现400 500 等异常请求错误码 这时候网页加载失败,页面本身下拉是无法使用,要求重新加载页面的话就需要在...webview外层套一个android下拉控件(SwipeRefreshLayout) 这样导致下拉一定用SwipeRefreshLayout下拉 最终要求是如果页面加载成功的话,用页面本身下拉,...如果页面加载失败的话,用android下拉控件下拉 --------------------------------------------------------------------------...------------------------------------------------------------------ 解决办法就是监听加载url请求错误码,对SwipeRefreshLayout.setEnabled...() 来控制是否允许下拉刷新 监听对应6.0+  6.0以下 分别为两种实现方式: 一、Android 6.0+ 判断请求码 mWebView.setWebViewClient(new

1.2K20

AndroidWebView基本配置与填坑记录大全

但是在Android开发,由于Android版本分化严重,每一个版本针对webview都有部分更改,因此在开发过程中会遇到各种各样坑,下面这篇就来给大家介绍关于AndroidWebView基本配置与填坑记录...、plugin 执行、JavaScript 执行等 mWebView.onResume(); // 恢复 WebView,能正常执行网页响应 ((ViewGroup) mWebView.getParent...,或者 no-cache,都使用缓存数据 LOAD_NO_CACHE: 不使用缓存,只网络获取数据 LOAD_CACHE_ONLY: 不使用网络,只读取本地缓存数据 // js 相关 webSettings.setJavaScriptEnabled...onReceivedTitle() 获取 Web 页标题。 onJsAlert() 支持 javascript 警告框。...3、Https 和 Http 混合模式 Android 5.0 开始,WebView 默认不支持同时加载 Https 和 Http 资源。

2.5K20
领券