Android、JS交互

本文介绍了在Hybrid APP开发中,Android与JavaScript交互的方式。通过WebView组件,Android可以调用JavaScript,反之亦然。详细讲解了两种Android调用JavaScript的方法,包括使用loadUrl和evaluateJavascript,以及JavaScript调用Android的三种方法,涉及@JavascriptInterface注解的使用。
摘要由CSDN通过智能技术生成
顺应大前端的潮流,Hybrid APP越来越重要,学习一波Android与JavaScript的交互方式。

原理:通过WebView这个中间组件来相互调用

一些基础的配置:

val webSetting = webView.settings
 // 允许与JS交互
webSetting.javaScriptEnabled = true
// 允许弹窗
webSetting.javaScriptCanOpenWindowsAutomatically = true
//  loadUrl会使页面刷新
//  先载入JS代码
//  格式规定为:file:///android_asset/文件名.html
webView.loadUrl("file:///android_asset/javascript.html")

1.Android调用JavaScript

  • 通过WebView.loadUrl("javascript:callJSByLoadUrl()"): javascript为文件名,callJSByLoadUrl为对应文件下的对应方法名
  • 通过WebView.evaluateJavascript("javascript:callJSByLoadUrl()"): javascript为文件名,callJSByLoadUrl为对应文件下的对应方法名

方式一:

webView.post {
                // 调用javascript的callJS()方法
                webView.loadUrl("javascript:callJSByLoadUrl()")
            }

方式二:

 webView.post {
                //  方式二: 4.4以上才可使用
                webView.evaluateJavascript(
                    "javascript:callJSByEvaluate()"
                ) { value ->
                    Log.e("wdl", "evaluateJavascript   $value")
                }
            }

对应的JS文件如下:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <tit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值