博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android的webview控件和js脚本语言交互小例子
阅读量:4290 次
发布时间:2019-05-27

本文共 1013 字,大约阅读时间需要 3 分钟。

一、实现功能:

1、通过webview控件访问html中的js脚本

2、js脚本再调用webview中的java函数把结果返回

二、调用步骤:

1、AndroidManifest.xml中必须使用许可 "android.permission.INTERNET", 否则会出Web page not available错误。

2、设置webview支持脚本

WebSettings webSetting = webview.getSettings();webSettings.setJavaScriptEnabled(true);//支持javascript脚本

3、加载脚本页面

mWebView.loadUrl("file:///android_asset/demo.html");//a.这里打开该app的asset目录下的demo.html,里面含有androidJSChangePicture (id, url)函数脚本.//b.该html地址也可以是服务器上的url

4、调用脚本

mWebView.loadUrl("javascript:androidJSChangePicture(id, url)");

//调用打开页面中的js函数androidJSChangePicture,

1)、如果不需要js返回值,只是想更改html中的图片、文字等,到这里就可以了;

2)、如果需要获得js处理结果的返回值,需要使用下面的步骤:

5、webview中建立js能够访问

mWebView.addJavascriptInterface(new PicJavaScriptInterface(), "picId");
//js可以通过picId访问到PicJavaScriptInterface类中的方法,picId是自己起的名字,在js中调用android中的方法时需要使用。 final class PicJavaScriptInterface {        PicJavaScriptInterface () {        }        public void clickOnAndroid(String result) {          System.out.prinltn("返回的结果"+result);                   }    }

6、js访问webview方法

转载地址:http://xgmgi.baihongyu.com/

你可能感兴趣的文章
SpringBoot2.0 基础案例(12):基于转账案例,演示事务管理操作
查看>>
高性能负载均衡:nginx搭建tomcat集群
查看>>
Spring切面中的正则表达式
查看>>
一直再说高并发,多少QPS才算高并发?
查看>>
Git恢复之前版本的两种方法reset、revert(图文详解)
查看>>
Maven打包的三种方式
查看>>
电商场景:并发扣库存,怎么保证不超卖又不影响并发性能
查看>>
分布式事务处理方式总结
查看>>
延迟队列有哪些实现方案?说说你的看法
查看>>
厉害了!我们老大半小时把我的springboot项目并发提升几倍
查看>>
Spring 中Bean 的生命周期
查看>>
为什么要用枚举实现单例模式(避免反射、序列化问题)
查看>>
微服务架构下的分布式限流方案思考
查看>>
全网最详细的一篇SpringCloud总结
查看>>
消息中间件中的有序消息,其实是排队但是不能插队
查看>>
不知道分布式事务,还想进互联网大厂
查看>>
mysql为什么使用B+树作为索引的结构
查看>>
mysql索引总结(1)-mysql 索引类型以及创建(文章写的不错!!!)
查看>>
聊聊CAS - 面试官最喜欢问的并发编程专题
查看>>
Spring Boot 中使用一个注解轻松将 List 转换为 Excel 下载
查看>>