Android WebView与JS交互入门

 2023-09-15 阅读 19 评论 0

摘要:2019独角兽企业重金招聘Python工程师标准>>> 首先在Anndroid代码中对WebView进行初始化 webView = (WebView) findViewById(R.id.webview);// 启用javascript webView.getSettings().setJavaScriptEnabled(true); webView.addJavascriptInterface(new Test(),&#

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

首先在Anndroid代码中对WebView进行初始化

webView = (WebView) findViewById(R.id.webview);// 启用javascript
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new Test(),"android");class Test{@JavascriptInterfacepublic void show(){runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(MainActivity.this,"show",3000).show();}});}@JavascriptInterfacepublic void showText(String text){runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(MainActivity.this,text,3000).show();}});}
}

webview实现、html的代码如下

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<script type="text/javascript">function javacalljs(){document.getElementById("content").innerHTML ="<br\>JAVA调用了JS的无参函数";
}function javacalljswith(arg){document.getElementById("content").innerHTML =("<br\>"+arg);
}
</script>
</head>
<body>
HTML 内容显示 <br/>
<h1><div id="content">内容显示</div></h1>
<br/>
<input type="button"  value="点击调用java代码" onclick="window.android.show()" />
<br/>
<input type="button"  value="点击调用java代码并传递参数" onclick="window.android.showText('你好')"  />
</body>
</html>

WebView与js交互主要分四种情况

1、Android 调用HTML中的javascript脚本

//调用js中无参方法
webView.loadUrl("javascript:javacalljs()");

js调用安卓、2、HTML中的javascript脚本调用Android本地代码

window.android.show()

3、Android 调用HTML中的javascript脚本并传递参数

//传递参数调用JS的方法
webView.loadUrl("javascript:javacalljswith(" + "'加班'" + ")");

4、HTML中的javascript脚本调用Android本地代码并传递参数

window.android.showText('你好')

android入门看什么书。window后跟的android为别名,需要前端开发人员与移动端开发人员定义统一的别名

转载于:https://my.oschina.net/u/3704128/blog/1560684

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/64044.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息