很简单的直接上代码

<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交互范例相关推荐

  1. Android开发之android与JS互调 | Android与H5互调(附源码)

    我们先看下JS代码: <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  2. Android 与 JS 的交互 以及 JS与Android 的交互

    Android与JS交互以及JS与Android 的交互 是通过WebView互相调用方法 对于Android调用JS代码的方法有2种: 通过WebView的loadUrl() 通过WebView的e ...

  3. android ios web兼容,js与android iOS 交互兼容

    js与android iOS 交互兼容 在Android与js交互方面还是要比iOS方便很多,而UIWebView只暴漏出- (BOOL)webView:(UIWebView *)webView sh ...

  4. android webview调js方法,Android中WebView与H5的交互,Native与JS方法互调

    项目中经常用到WebView与H5的交互,一个是H5调本地方法,一个是本地调H5方法,在此记录一下. 首先,启用JS支持 //启用js支持 webSettings.setJavaScriptEnabl ...

  5. JS与Android的交互

    一.函数交互 交互模型 1.js调用android原生的代码(不传递参数) 2.js调用android原生的代码(传递参数) 3.android原生调用JS的代码(不传递参数) 4.android原生 ...

  6. Android极简的js与java交互库一一SimpleJavaJsBridge

    今日科技快讯 根据相关报道,本月底旧版本Uber中国App将全面停止在中国的服务.内部人士透露,所有的Uber中国司机也正在被转移到滴滴司机的平台上,月底会全部转移完成. 另外滴滴出行新成立了一个部门 ...

  7. webviewjavascriptbridge android ios,js与ios交互使用WebViewJavascriptBridge如何写多个函数

    //js与webview交互初始化 function setupWebViewJavascriptBridge(callback) { if (window.WebViewJavascriptBrid ...

  8. rn+与android+交互,React native 与Android原生交互方式(一)

    前言## 最近在做React Native开发的时候避免不了的需要原生模块和JS之间进行交互,其实RN和原生的通信大致分为两种情况:一种是Android主动向RN端发送事件和数据,另外一种是RN端被动 ...

  9. [转]JS调用Android里面的方法,Android调用JS里面的方法

    FROM : http://blog.csdn.net/hj563308597/article/details/45197709 Android WebView 在公司Android的开发过程中遇到一 ...

最新文章

  1. ubuntu 14.10安装zabbix(lnmp环境)
  2. c语言常用绘图软件,大佬们,小菜鸟想问一问用vc编译器做简易画图软件
  3. 19、HTML5 新的 Input 类型
  4. Apache运行机制剖析
  5. 使用swipecard实现卡片视图左右滑动监听以及点击监听
  6. 系统属性的JDK 12 Javadoc标记
  7. anguarjs 上传图片预览_前端图片上传那些事儿
  8. form表单、控制器中接收表单提交数据的4种方式
  9. 概率论信息论基础(随机变量、常用概率分布、贝叶斯规则、信息论基础、结构化概率模型)
  10. Uni-G/ The University of Glasgow (Uni-G) ECG Analysis Program
  11. Visio—如何导出文件为图片?
  12. 中间人攻击 - 攻防
  13. Ubuntu应用Wireshark找不到interface的解决办法
  14. Googletest Primer
  15. mysql视图字段大小_在()MySQL()中,使用()_______()语句可以查看视图的字段信息,其中包括字段名、字段类...
  16. sendmail 邮件服务器 套件,SENDMAIL邮件服务器的安装与设置
  17. C# WMP 视频播放
  18. 深度linux软件中心 qq,ubuntu上安装QQ(包括多个软件安装方法)
  19. 5.20爬虫结——Mu
  20. 2022茶艺师(中级)考试模拟100题及模拟考试

热门文章

  1. 内存不能为读写的解决方法
  2. 计算机控制的工频机是什么,UPS 如何分类,工频机和高频机区别是什么?
  3. mac终端一次命令在多个虚拟机执行_Windows给力!可以扔掉Linux虚拟机了!
  4. python异常处理_Python基础语法案例(Fibonacci):选择结构、循环结构、异常处理结构、代码优化...
  5. linux父设备,linux 设备模型---学习记录(二)
  6. java编程东西好多记不住_课程总结
  7. html的文档类型三种,XHTML文档类型
  8. php兼容编码,PHP截取字符串编码(兼容utf-8和gb2312)
  9. scrapy框架爬虫文件配置
  10. linux 更改文件和目录权限