Android WebView中H5调用Android原生方法

news2024/12/24 9:16:24

最近做项目,使用webView看一些网页,和网页开发一起找什么方法进行交互,还好解决,分享一下经验。

对于webView的使用就不写了,百度大法好,主要是交互方面,对WebView增加以下代码:

binding.webView.getSettings().setUserAgentString("Android");
binding.webView.addJavascriptInterface(new JavascriptInterface(this), "Android");

新建类,并对类的方法声明    @android.webkit.JavascriptInterface  ,方法就是我们自己的操作了。

public class JavascriptInterface {
    private Context context;

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

    @android.webkit.JavascriptInterface
    public void openImage(String img) {
        Log.i("---------------->", img + "");
    }
}

H5端对需要调用的地方,添加以下代码,这样就可以H5调用Android的方法进行愉快的玩耍了。

window.Android.openImage(img);

值得注意的地方是

 看着两个红框的内容必须一致,我就是粗心犯了不一致的错误,找了半天才发现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/164878.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

五个了解自己天赋优势的分析工具(一)霍兰德兴趣测试

霍兰德兴趣测试 霍兰德职业兴趣自测(Self-Directed Search)是由美国职业指导专家霍兰德(John Holland)根据他本人大量的职业咨询经验及其职业类型理论编制的测评工具。 霍兰德认为,个人职业兴趣特性与职业之间应有一…

74、Beyond RGB: Scene-Property Synthesis with Neural Radiance Fields

简介 List item 论文地址:http://arxiv-export3.library.cornell.edu/abs/2206.04669v1 利用隐式三维表示和神经渲染的最新进展,从综合模型的角度提供了一种新的场景理解方法,能够从新颖的视点渲染照片逼真的RGB图像,而且还能够…

我们怎样才能过好这一生?

文章目录1. 日拱一卒,功不唐捐1.1 适当的时候给自己一个奖励1.2 一个人可能走的更快,但一群人才能走的更远1.3 通过一些事情去逼自己一把1.4 从真理中去感悟1.5 当你面临绝路时2. 梦想的意义不在于实现3. 孤独4. 烦恼5. 别总说来日方长6. 忍和韧性7. 事情…

低成本搭建一台家庭存储服务器:前篇

本篇文章,记录搭建备份服务器的过程。 写在前面 今年考虑专门搭建一台用于数据备份的机器,一来今年外出的需求比较多,历史的设备已经用了几年了,需要有更新的设备来“接力”;二来也想验证方案的靠谱程度,…

k8s之ingress实战小栗子

写在前面 本文接k8s之ingress 。 本文看一个基于ingress作为流量入口的实战例子,架构图如下: 接下来详细看下。 1:部署MariaDB 首先我们需要定义MariaDB使用的configmap,如下: apiVersion: v1 kind: ConfigMap meta…

1587_AURIX_TC275_SMU的部分寄存器3

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) SMU的章节,剩下的部分全都是寄存器了,没有太多需要特别关注的。因此,接下来选择性整理,完成整个SMU的文档学习整理。 这一页是上一份笔记的…

05_FreeRTOS中断管理

目录 什么是中断 中断相关寄存器 源码实验 什么是中断 简介:让CPU打断正常运行的程序,转而去处理紧急的事件(程序) ,就叫中断。 举例:上课可以比做CPU正常运行的程序,上厕所可以比做中断程序。 中断执行机制,可简单概括为三步: 中断请求:外设产生中断请求(GPIO外部中断、…

【精品】k8s(Kubernetes)cka由基础到实战学法指南

轻松快速学会k8s四招 图1 k8s四招 学完本篇,您会获得什么惊喜? 从初学k8s,到帮助别人学会的过程中,发现朋友们和我,并非不努力,而是没有掌握更好的方法。有方法可让我们学的更快更轻松,这篇文章,以一个networkpolicy的题目,来逐步讲解,帮助大家建立一种,自己可以根…

Java基础语法

文章目录Java 基础语法一、注释1. 注释介绍2. 注释分类3. 注释颜色二、关键字1. 关键字介绍2. 所有关键词三、字面量四、变量1. 变量2. Debug 工具1)如何加断点?2)如何开启 Debug 运行?3)点哪里 ?4)看哪里…

ElasticSearch架构之整合ELK

前言本篇文章主要是说ElasticSearch对Logstash、FileBeat、Kibana整合形成ELK的架构,为什么需要整合这个架构呢?一个很重要的原因就是我们开发过程中有相当多的日志需要进行查看,如果我们要查找一个问题需要到多台服务器进行查看那是相当麻烦…

【Java基础知识 4】Java数据类型之间的转换、运算符

本文已收录专栏 🌲《Java进阶之路》🌲 目录 🌴基本数据类型 🍃01、布尔 🍃02、byte 🍃03、short 🍃04、int 🍃05、long 🍃06、float 🍃07、double …

C生万物 | 详解程序环境和预处理【展示程序编译+链接全过程】

👑作者主页:Fire_Cloud_1 🏠学习社区:烈火神盾 🔗专栏链接:万物之源——C 文章目录一、程序的翻译环境和执行环境二、详解编译链接1、前言小知识🔍2、翻译环境【important】2.1 编译① 预编译【…

【LeetCode每日一题】【2023/1/15】2293. 极大极小游戏

文章目录2293. 极大极小游戏方法1:双指针2293. 极大极小游戏 LeetCode: 2293. 极大极小游戏 简单\color{#00AF9B}{简单}简单 给你一个下标从 0 开始的整数数组 nums ,其长度是 2 的幂。 对 nums 执行下述算法: 设 n 等于 nums 的长度&#x…

Windows 10的子系统不是非Ubuntu不可

Ubuntu 的制造商 Canonical 早已和微软进行合作,让我们体验了极具争议的 Bash on Windows。外界对此也是褒贬不一,许多 Linux 重度用户则是质疑其是否有用,以及更进一步认为 Bash on Windows 是一个安全隐患。 Unix 的 Bash 是通过 WSL&#…

MyBatis动态设置表名 获取添加功能自增的主键 自定义映射

MyBatis动态设置表名 获取添加功能自增的主键 自定义映射动态设置表名获取添加功能自增的主键自定义映射解决字段名和属性名不一致的情况为字段起别名,保持和属性名的一致设置全局配置,保持和属性名的一致通过resultMap设置自定义的映射关系动态设置表名 mapper接口&#xff1a…

Java实现线段树

问题一:开始的子区间是怎么分的? M (LR)/2,左子区间为[L,M],右子区间为[M1,R] 问题二:如何进行区间统计? 假设这13个数为1,2,3,4,1,2,3,4,1,2,3,4,1. 在区间之后标上该区间的数字之和: 如…

Windows安全加固-AD建立与加入

AD建立与加入 实验环境说明: 域控从机: Windows 2003 域控主机: Windows 2008 IP设置 设置同一网段-保证连通性 将NDS指向Windos2008 第一步,域控服务器需要将服务器设为静态 IP地址 1.将Windows2008服务器IP地址修改为192.1…

c++ - 第24节 - c++的IO流

1.C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf()与printf()。 scanf(): 从标准输入设备(键盘)读取数据,并将值存放在变量中。printf(): 将指定的文字/字符串输出到标准输出设备(屏幕)。注意宽度输出和精度输出控制。C语言借助了相应的缓冲区…

【Android gradle】自定义一个android gradle插件之buildSrc

文章目录1. 前言2. 简单使用3. 其余用法3.1 依赖&版本管理3.2 插件版本自增3.3 其余4. 链接1. 前言 在【Android gradle】自定义一个android gradle插件,并发布到私有Artifactory仓库这篇文章中介绍了定义一个gradle插件,然后发布到远程或者本地仓库…

对数据库索引和事务的理解

1.数据库授权命令&#xff1a; GRANT<权限> on 表名(或列名) to 用户。 举例&#xff1a; 授予用户SQLTest对数据库Sales的CUSTOMERS表的列cid、cname的查询权限 grant select on CUSTOMERS(cid,cname) to SQLTest; 2.MySQL索引&#xff08;index&#xff09; 什么是索引…