android 本地html JS与android 交互
来源:互联网 发布:演化算法 编辑:程序博客网 时间:2024/05/17 09:42
@SuppressLint("SetJavaScriptEnabled")public class TestWebviewActivity extends Activity {WebView contentWebView;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.test_web_layout);contentWebView = (WebView) findViewById(R.id.webView);// 启用javascriptcontentWebView.getSettings().setJavaScriptEnabled(true);// 测试带图的文的网站contentWebView.loadUrl("file:///android_asset/test.html");// 添加js交互接口类,并起别名 webtestcontentWebView.addJavascriptInterface(this, "webtest");}/** * JS调用本地android方法: * 对应html中 window.webtest.jsInvokeJava('JS invoke java code'); * 方法名:jsInvokeJava * @param arg 参数 */public void jsInvokeJava(String arg) {Log.i("songe", "JS调用本地android方法 带参数:" + arg);}/** * JS调用本地android方法 * 对应html中window.webtest.jsInvokeJava(); * 方法名:jsInvokeJava */public void jsInvokeJava() {Log.i("songe", "JS调用本地android方法");}/** * 自定义button事件 * 方法名:click * @param v */public void click(View v){ switch (v.getId()) {case R.id.javacalljs://按下button 调用html中的javaCallJS()脚本contentWebView.loadUrl("javascript:javaCallJS()");break;case R.id.javaCallJsWithArgs://按下button 调用html中的javaCallJsWithArgs()脚本contentWebView.loadUrl("javascript:javaCallJsWithArgs('hello world')");break;default:break;}}}
本地html文件:
<html><head><meta http-equiv="Content-Type"content="text/html;charset=utf-8"><script type="text/javascript">//自定义jsfunction javaCallJS(){ document.getElementById("content").innerHTML += "<br\>java调用JS函数";}//自定义jsfunction javaCallJsWithArgs(arg){ document.getElementById("content").innerHTML += ("<br\>"+arg);}</script></head><body bgcolor="#ffff00"> <p align="center">Test html 区域</p> <br/><button onClick="window.webtest.jsInvokeJava()">点击调用java代码</button><br/><br/><br/><button onClick="window.webtest.jsInvokeJava('JS invoke java code')" >点击调用java代码并传入参数</button><br/><br/><br/><br/><div id="content">显示内容</div></body></html>
test_web_layout.xml 布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <Button android:id="@+id/javacalljs" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:onClick="click" android:text="本android调用本地js" /> <Button android:id="@+id/javaCallJsWithArgs" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="click" android:text="android调用本地js(带参)" /> <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent"/></LinearLayout>
0 0
- android 本地html JS与android 交互
- android js与html 交互
- Android与Html&JS交互
- Android与HTML+JS交互
- Android与HTML+JS交互
- android与js+HTML交互
- android 本地方法与js交互
- HTML---Android与js交互实例
- Android与HTML+JS交互入门
- Android与HTML+JS交互入门
- Android 与 HTML + Js的交互
- Android js交互 与 Html启动App
- Android与HTML+JS的交互
- Android与HTML+JS交互入门
- Android与HTML的JS 交互
- Android 与JS交互 调用本地相册在Html页面显示图片
- Android Studio中实现本地html中js与java交互简单实例
- Android的webview加载本地html、assert内html和网络URL&&& JS与移动端webview的相互交互
- 深入理解linux内核v4l2框架之videobuf
- Java对象入门
- POJ1274(多重背包)
- Matlab 绘制地图各种属性设置
- 临时文件
- android 本地html JS与android 交互
- python 字符串编码与解码
- [LeetCode]Binary Tree Level Order Traversal
- Yii 中,render 和 renderPartial 的区别。
- 柳岩黄灿盛因戏生情 柳岩甩奶舞不雅照亮瞎眼
- 如何访问Google
- 标量子查询中exist转化成外连接
- DWR入门教程
- 【翻译自mos文章】得到正在运行job的 session id