js调用android本地java代码

  当在Android上使用WebView控件开发一个Web应用时,可以创建一个通过Javascript调用Android端java代码的接口。也就是可以通过Javascript代码来调用Android本地的java代码!

  下面来说明一下这个接口的具体创建方法。

  第一步:首先需要在Android侧的java代码中创建实现了具体功能的类。(注意:作为接口的方法必须要加@JavascriptInterface注解)比如:

 1 public class WebAppInterface {
 2     Context mContext;
 3
 4     /** Instantiate the interface and set the context */
 5     WebAppInterface(Context c) {
 6         mContext = c;
 7     }
 8
 9     /** Show a toast from the web page */
10     @JavascriptInterface
11     public void showToast(String toast) {
12         Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
13     }
14 }

  在这个例子中,WebAppInterface类允许Web页面通过showToast方法打开一个Toast提示消息。

  第二步:在Android侧的java代码中,通过WebView的addJavascriptInterface方法将第一步创建的接口和WebView绑定起来。具体代码如下:

1 WebView webView = (WebView) findViewById(R.id.webview);
2
3 // 传入的第二个参数angle,就是可已在js代码中直接使用的实例名称
4 webView.addJavascriptInterface(new WebAppInterface(this), "angle");

  第三步:使用第二步创建的接口。在Web页面的js代码中,可以条用angle对象的showToast方法来间接调用第一步中WebAppInterface类中的showToast方法。具体应用示例如下:

1 <input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" />
2
3 <script type="text/javascript">
4     function showAndroidToast(toast) {
5         angle.showToast(toast);
6     }
7 </script>

 参考资料:android-sdk/docs/guide/webapps/webview.html

js调用android本地java代码相关推荐

  1. Android开发-WebView中实现Android调用JS JS调用Android 【三】

    老早之前就想总结下Webview相关的知识点了,因为互联网大潮中,很多APP都会使用到Webview,像那些不计其数的电商APP,无一例外的使用Webview:或者一些非电商APP中的像广告页面,注册 ...

  2. js端调用android端同步方法,JS怎样调用Android本地原生方法

    1.设置webview webSettings.setJavaScriptEnabled(true);//设置js可用 MJavascriptInterface mJavascriptInterfac ...

  3. 【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(上)

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/725.html ☞ ...

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

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

  5. uni-app中使用native.js调用android API实现双卡发送短信

    uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台官网地址 因 ...

  6. java代码中如何嵌入c语言,Android中Java代码与C的互相调用(JNI的简单使用)

    引言 最近在做项目的时候,接触到JNI,想一想自己第一次接触这个东西的时候,还是好久之前,现在既然接触到了,那我就简单的跟大家讲一讲JNI的基本使用方法. JNI(Java Native Interf ...

  7. 【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(下)

    示例代码段2: Xcode 代码: //静态函数示例2.有参数,无返回值------------------------------$$$$$$$--------------------------- ...

  8. java调用子系统代码_深入理解JAVA虚拟机-Idea远程执行本地Java代码 - Java 技术驿站-Java 技术驿站...

    今天在看深入理解JAVA虚拟机的9.3节,作者实现了一个远程执行功能.这个功能可以在远程服务器中临时执行一段程序代码,而去不依赖jdk版本,不改变原有服务端程序的部署,不依赖任何第三方库,不入侵原有的 ...

  9. React Native之js调用Android原生使用Callback传递结果给js

    如果不清楚js如何调用Android原生,可以先参考我的这篇博客React Native实现js调用安卓原生代码 1 问题 上面的文章只是调用安卓原生显示Toast,但是我们一般会需要调用安卓的代码然 ...

最新文章

  1. 常考数据结构和算法:链表中环的入口节点
  2. NTU 课程笔记:MAS 714(16) 图灵机
  3. nginx.conf删除与否网页都能访问(nginx没有生效)的问题
  4. 再学 GDI+[60]: TGPGraphics.SetSmoothingMode - 绘图质量
  5. 虚拟服务器声卡,如何使用虚拟声卡?虚拟声卡安装教程!
  6. 网上购物html5 sqlserver,网上购物商城系统的设计与实现(SQLServer)
  7. pyltp安装失败python 3.7_pyltp模块安装问题
  8. pychart绘制中国地图用英文省名
  9. ibd 导入mysql_拷贝ibd实现MySQL的数据导入
  10. 带“小弟”其实是一种投资
  11. android7.1以太网动态ip,可以这样解决win10/8.1/7中的WIFI或以太网”没有有效的ip配置”问题 | MOS86...
  12. db2建立表空间 linux,DB2实验教程:创建数据库/表空间
  13. 第13章-1~3 法兰接头预紧力密封接触分析(模型简化、网格调整、约束)并行计算设置、摩擦接触设置adjust to touch 、约束设置frictionless support、bolt
  14. egg-views-ejs
  15. 【经典收藏】深度技术ghost官方原版XP系统sp3下载地址 ...
  16. 音乐制作软件中文精简版-Nuendo 4 v4.3 WiN
  17. 【上古秘籍】之Eclipse的秘籍
  18. 去掉txt文件内的换行符
  19. Unity大量人物模型,及输出FBX功能。
  20. PAT练习笔记——4.2 散列

热门文章

  1. 最短路径——SPFA算法(蓝桥杯试题集)
  2. AIDE --Linux高级入侵检测
  3. 【NIPS2020】 Workshop List
  4. mysql 5 安装过程
  5. 看脸 高效学英语 下
  6. 窗体跳转与传值 02
  7. 2020-python小工能
  8. linux批量替换文件名中的相同字符
  9. 把a文件删除b文件中的相同的行
  10. linux安装selenium+chrome+phantomjs