android与html交互
来源:互联网 发布:四大工资2017 知乎 编辑:程序博客网 时间:2024/05/20 20:01
用webview实现android与html交互:
初始化webview代码:
private void initWebview(){ webView=new WebView(this); webView.setWebViewClient(new WebViewClient()); webSettings=webView.getSettings(); webSettings.setJavaScriptEnabled(true); webView.loadUrl("file:///android_asset/test1.html");}
实现java调用html中js方法传递参数:
/** * Java 调用Js代码 (给html中js下的方法javaCallJs传参数) * @param v */ public void JavaCallJs(View v){ webView.loadUrl("javascript:javaCallJs('"+"一个帅比"+"')"); setContentView(webView); }
添加内部类和方法,实现js调用android内的java方法:
//通过js传递给java的url,和视频名称,播放网络视频 class JavaCallJs{ @JavascriptInterface public void showToast(){ Toast.makeText(MainActivity.this,"我是java代码",Toast.LENGTH_SHORT).show(); } @JavascriptInterface public void playVideo(String url,String title){ Log.i("Tag8","url:"+url); Log.i("Tag8","title:"+title); Intent intent = new Intent(); intent.setDataAndType(Uri.parse(url),"video/*"); startActivity(intent); } }
js调用Java代码:
/** * Js 调用Java代码 * @param v * 这里java这个参数很重要,起到一个连接作用,要和html中的window.xxx下面的对应起来 */ public void JsCallJava(View v){ webView.addJavascriptInterface(new JavaCallJs(),"java"); webView.loadUrl("file:///android_asset/test1.html"); setContentView(webView); }
html中js的代码为:
<script type="text/javascript"> function javaCallJs(username){ var name=document.getElementsByTagName("span")[0]; name.innerHTML=username; } function jsCallJavaParams(){ javascript:java.playVideo('https://gss3.baidu.com/6LZ0ej3k1Qd3ote6lo7D0j9wehsv/tieba-smallvideo-transcode/17_5014955baa85219ee6ed706aafd8bcdb_3.mp4?authorization=bce-auth-v1%2Fde94045c2e42438fad71ab8df47a6727%2F2017-02-19T18%3A08%3A25Z%2F1800%2F%2F6d7a756c19cfba52e8e311c8241a1eda1c77168cd0df5ff877bcf9e336cd9091','舞蹈') } </script>
点击操作对应代码为:
<input type="button" value="点我一下掉java" onclick="window.java.showToast()"> <br> <input type="button" value="点我一下给java传参数,播放视频" onclick="jsCallJavaParams()">
通过上面就可以实现java给js传递参数,调用js里的方法,和js给java传递参数,调用java的方法,有问题请留言拍砖,请多多指教….
代码下载点击这里:https://github.com/amelons/JavaCallJs
转载地址请标明:http://blog.csdn.net/zxyudia/article/details/60955712
0 0
- android与html交互
- android与html交互
- android js与html 交互
- Android与Html&JS交互
- Android与HTML+JS交互
- html与android交互总结
- Android与HTML+JS交互
- android与js+HTML交互
- Android HTML与原生交互
- android 本地html JS与android 交互
- Android HTML与Android中的交互
- android WebView(四)与html交互
- HTML---Android与js交互实例
- Android与HTML+JS交互入门
- Android与HTML+JS交互入门
- html与iOS/Android的兼容交互
- Android 与 HTML + Js的交互
- Android js交互 与 Html启动App
- VS2010 C/C++实用操作
- 史上最全的MonkeyRunner自动化测试从入门到精通(9)
- memset()函数及其作用
- React Native进阶之Animated动画库详解
- Hibernate框架的修改问题
- android与html交互
- TCP第三次握手失败后怎么办?
- Quartz CronTrigger配置及使用
- 关于软键盘不得不记录的事
- keypad 按键响应流程解析
- What is the difference between Terminal, Console, Shell, and Command Line?
- spring-boot 加入拦截器Interceptor
- adnroid TabLayout 字不显示 的问题
- STM32 -- 笔记一 -- CLK、GPIO、PWM