android webview用法小结2 java与javascript的交互
来源:互联网 发布:苹果手机电池测试软件 编辑:程序博客网 时间:2024/05/02 11:35
先让浏览器支持javascript
- webView.getSettings().setJavaScriptEnabled(true);//打开就可以用js的功能
Js代码,放在asset文件夹下,也可以在服务器端,这样改变内容,只需改服务器端,客户端不用修改
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Insert title here</title>
- <script type="text/javascript">
- function btn_test() {
- /* 打印,logcat里的tag是Web Console */
- console.log("btn_test");
- }
- function call_java() {
- /* js调用java代码,需要接口 */
- Window.interface_test.showToastFromWeb("hello i am javascript!");
- }
- function test_alert() {
- /* 弹出对话框 */
- alert("hello i am javascript!");
- }
- function test_confirm() {
- /* 弹出带确定和取消按钮的对话框 */
- var v = confirm("hello i am javascript!");
- console.log("onfirm " + v);
- }
- function test_prompt() {
- /* 弹出带输入框的对话框 */
- var v = prompt("input you name!", "tom");
- console.log("prompt " + v);
- }
- </script>
- </head>
- <body>
- <button onclick="btn_test()">test</button>
- <button onclick="call_java()">call_java</button>
- <button onclick="test_alert()">test_alert</button>
- <button onclick="test_confirm()">test_confirm</button>
- <button onclick="test_prompt()">test_prompt</button>
- <label tel:800800284>tel:8008233</label>
- </body>
- </html>
Java代码里
对应call_java()方法
- webView.addJavascriptInterface(new Object(){
- public void showToastFromWeb(String msg){
- showToast(msg);
- }
- }, "interface_test");
对应alert等方法
- webView.setWebChromeClient(new WebChromeClient(){
- @Override
- public void onProgressChanged(WebView view,int newProgress) {
- //这里上一博文已提过
- }
- @Override
- public boolean onJsAlert(WebView view, String url, String message,
- JsResult result) {
- // TODO Auto-generated method stub
- return super.onJsAlert(view, url, message, result);
- }
- @Override
- public boolean onJsConfirm(WebView view, String url,
- String message, JsResult result) {
- // TODO Auto-generated method stub
- return super.onJsConfirm(view, url, message, result);
- }
- @Override
- public boolean onJsPrompt(WebView view, String url, String message,
- String defaultValue, JsPromptResult result) {
- // TODO Auto-generated method stub
- return super.onJsPrompt(view, url, message, defaultValue, result);
- }
- });
加载html
- // webView.loadUrl("javascript:btn_test()");
- webView.loadUrl("file:///android_asset/test.html");
效果图
- android webview用法小结2 java与javascript的交互
- android webview用法小结2 java与javascript的交互
- android webview用法小结2 java与javascript的交互
- android webview用法小结2 java与javascript的交互
- Android WebView Java与JavaScript的交互
- Android WebView----java与javaScript交互
- android WebView实现java与javascript的交互
- android中WebView的Java与JavaScript交互
- Android中WebView与Javascript的交互
- Android WebView与javaScript之间的交互
- Android WebView与Javascript的交互
- Android WebView与JavaScript的交互使用
- Android WebView Java和JavaScript的交互
- Android ---- WebView与JavaScript交互调用(2)
- android webview 与 javascript交互
- Android:WebView与Javascript交互
- WebView与JavaScript交互--Android
- Android WebView与JavaScript交互
- ActionBar应用开发讲解
- VMware+Ubuntu+NAT 网络设置
- android webview用法小结1
- CentOS解压各类文件
- svn 设置文件可执行权限
- android webview用法小结2 java与javascript的交互
- SMTP Error code
- 电脑的远程唤醒和关机
- 逻辑地址、线性地址、物理地址、虚拟地址、地址空间、特权级
- Circle类、Ladder类、Triangle类和程序执行入口文件改进版
- Java上机 第六周 任务1 测试三类对象(升级版)
- 操作系统 内存地址(逻辑地址、线性地址、物理地址)概念
- 5-2 封装一类对象
- DNS Lookup command:host和dig