135、JS和Android交互范例
很简单的直接上代码
<uses-permission android:name="android.permission.INTERNET" />
assets/web.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.startFunction()"/> <br/> <input type="button" value="点击调用java代码并传递参数"onclick="window.android.startFunction('http://blog.csdn.net/Leejizhou')"/> </body> </html>
package com.leejz.jsdemo; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.webkit.JavascriptInterface; import android.webkit.WebView; import android.widget.Toast;public class MainActivity extends AppCompatActivity {private WebView contentWebView = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);contentWebView = (WebView) findViewById(R.id.webview);// 启用javascriptcontentWebView.getSettings().setJavaScriptEnabled(true);// 从assets目录下面的加载htmlcontentWebView.loadUrl("file:///android_asset/web.html");contentWebView.addJavascriptInterface(MainActivity.this, "android");//无参调用Js点击findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 无参数调用 WebView中显示 JAVA调用了JS的函数contentWebView.loadUrl("javascript:javacalljs()");}});//有参调用Js点击findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// 传递参数调用 WebView中显示 www.baidu.comcontentWebView.loadUrl("javascript:javacalljswith("+ "'www.baidu.com'" + ")");}});}//由于安全原因 需要加 @JavascriptInterface @JavascriptInterfacepublic void startFunction() {runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(MainActivity.this, "吐司", Toast.LENGTH_SHORT).show();}});}@JavascriptInterfacepublic void startFunction(final String text) {runOnUiThread(new Runnable() {@Overridepublic void run() {new AlertDialog.Builder(MainActivity.this).setMessage(text).show();}});} }
135、JS和Android交互范例相关推荐
- Android开发之android与JS互调 | Android与H5互调(附源码)
我们先看下JS代码: <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...
- Android 与 JS 的交互 以及 JS与Android 的交互
Android与JS交互以及JS与Android 的交互 是通过WebView互相调用方法 对于Android调用JS代码的方法有2种: 通过WebView的loadUrl() 通过WebView的e ...
- android ios web兼容,js与android iOS 交互兼容
js与android iOS 交互兼容 在Android与js交互方面还是要比iOS方便很多,而UIWebView只暴漏出- (BOOL)webView:(UIWebView *)webView sh ...
- android webview调js方法,Android中WebView与H5的交互,Native与JS方法互调
项目中经常用到WebView与H5的交互,一个是H5调本地方法,一个是本地调H5方法,在此记录一下. 首先,启用JS支持 //启用js支持 webSettings.setJavaScriptEnabl ...
- JS与Android的交互
一.函数交互 交互模型 1.js调用android原生的代码(不传递参数) 2.js调用android原生的代码(传递参数) 3.android原生调用JS的代码(不传递参数) 4.android原生 ...
- Android极简的js与java交互库一一SimpleJavaJsBridge
今日科技快讯 根据相关报道,本月底旧版本Uber中国App将全面停止在中国的服务.内部人士透露,所有的Uber中国司机也正在被转移到滴滴司机的平台上,月底会全部转移完成. 另外滴滴出行新成立了一个部门 ...
- webviewjavascriptbridge android ios,js与ios交互使用WebViewJavascriptBridge如何写多个函数
//js与webview交互初始化 function setupWebViewJavascriptBridge(callback) { if (window.WebViewJavascriptBrid ...
- rn+与android+交互,React native 与Android原生交互方式(一)
前言## 最近在做React Native开发的时候避免不了的需要原生模块和JS之间进行交互,其实RN和原生的通信大致分为两种情况:一种是Android主动向RN端发送事件和数据,另外一种是RN端被动 ...
- [转]JS调用Android里面的方法,Android调用JS里面的方法
FROM : http://blog.csdn.net/hj563308597/article/details/45197709 Android WebView 在公司Android的开发过程中遇到一 ...
最新文章
- ubuntu 14.10安装zabbix(lnmp环境)
- c语言常用绘图软件,大佬们,小菜鸟想问一问用vc编译器做简易画图软件
- 19、HTML5 新的 Input 类型
- Apache运行机制剖析
- 使用swipecard实现卡片视图左右滑动监听以及点击监听
- 系统属性的JDK 12 Javadoc标记
- anguarjs 上传图片预览_前端图片上传那些事儿
- form表单、控制器中接收表单提交数据的4种方式
- 概率论信息论基础(随机变量、常用概率分布、贝叶斯规则、信息论基础、结构化概率模型)
- Uni-G/ The University of Glasgow (Uni-G) ECG Analysis Program
- Visio—如何导出文件为图片?
- 中间人攻击 - 攻防
- Ubuntu应用Wireshark找不到interface的解决办法
- Googletest Primer
- mysql视图字段大小_在()MySQL()中,使用()_______()语句可以查看视图的字段信息,其中包括字段名、字段类...
- sendmail 邮件服务器 套件,SENDMAIL邮件服务器的安装与设置
- C# WMP 视频播放
- 深度linux软件中心 qq,ubuntu上安装QQ(包括多个软件安装方法)
- 5.20爬虫结——Mu
- 2022茶艺师(中级)考试模拟100题及模拟考试
热门文章
- 内存不能为读写的解决方法
- 计算机控制的工频机是什么,UPS 如何分类,工频机和高频机区别是什么?
- mac终端一次命令在多个虚拟机执行_Windows给力!可以扔掉Linux虚拟机了!
- python异常处理_Python基础语法案例(Fibonacci):选择结构、循环结构、异常处理结构、代码优化...
- linux父设备,linux 设备模型---学习记录(二)
- java编程东西好多记不住_课程总结
- html的文档类型三种,XHTML文档类型
- php兼容编码,PHP截取字符串编码(兼容utf-8和gb2312)
- scrapy框架爬虫文件配置
- linux 更改文件和目录权限