js调用android本地java代码
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代码相关推荐
- Android开发-WebView中实现Android调用JS JS调用Android 【三】
老早之前就想总结下Webview相关的知识点了,因为互联网大潮中,很多APP都会使用到Webview,像那些不计其数的电商APP,无一例外的使用Webview:或者一些非电商APP中的像广告页面,注册 ...
- js端调用android端同步方法,JS怎样调用Android本地原生方法
1.设置webview webSettings.setJavaScriptEnabled(true);//设置js可用 MJavascriptInterface mJavascriptInterfac ...
- 【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(上)
本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/725.html ☞ ...
- [转]JS调用Android里面的方法,Android调用JS里面的方法
FROM : http://blog.csdn.net/hj563308597/article/details/45197709 Android WebView 在公司Android的开发过程中遇到一 ...
- uni-app中使用native.js调用android API实现双卡发送短信
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉)等多个平台官网地址 因 ...
- java代码中如何嵌入c语言,Android中Java代码与C的互相调用(JNI的简单使用)
引言 最近在做项目的时候,接触到JNI,想一想自己第一次接触这个东西的时候,还是好久之前,现在既然接触到了,那我就简单的跟大家讲一讲JNI的基本使用方法. JNI(Java Native Interf ...
- 【iOS-cocos2d-X 游戏开发之十三】cocos2dx通过Jni调用Android的Java层代码(下)
示例代码段2: Xcode 代码: //静态函数示例2.有参数,无返回值------------------------------$$$$$$$--------------------------- ...
- java调用子系统代码_深入理解JAVA虚拟机-Idea远程执行本地Java代码 - Java 技术驿站-Java 技术驿站...
今天在看深入理解JAVA虚拟机的9.3节,作者实现了一个远程执行功能.这个功能可以在远程服务器中临时执行一段程序代码,而去不依赖jdk版本,不改变原有服务端程序的部署,不依赖任何第三方库,不入侵原有的 ...
- React Native之js调用Android原生使用Callback传递结果给js
如果不清楚js如何调用Android原生,可以先参考我的这篇博客React Native实现js调用安卓原生代码 1 问题 上面的文章只是调用安卓原生显示Toast,但是我们一般会需要调用安卓的代码然 ...
最新文章
- 常考数据结构和算法:链表中环的入口节点
- NTU 课程笔记:MAS 714(16) 图灵机
- nginx.conf删除与否网页都能访问(nginx没有生效)的问题
- 再学 GDI+[60]: TGPGraphics.SetSmoothingMode - 绘图质量
- 虚拟服务器声卡,如何使用虚拟声卡?虚拟声卡安装教程!
- 网上购物html5 sqlserver,网上购物商城系统的设计与实现(SQLServer)
- pyltp安装失败python 3.7_pyltp模块安装问题
- pychart绘制中国地图用英文省名
- ibd 导入mysql_拷贝ibd实现MySQL的数据导入
- 带“小弟”其实是一种投资
- android7.1以太网动态ip,可以这样解决win10/8.1/7中的WIFI或以太网”没有有效的ip配置”问题 | MOS86...
- db2建立表空间 linux,DB2实验教程:创建数据库/表空间
- 第13章-1~3 法兰接头预紧力密封接触分析(模型简化、网格调整、约束)并行计算设置、摩擦接触设置adjust to touch 、约束设置frictionless support、bolt
- egg-views-ejs
- 【经典收藏】深度技术ghost官方原版XP系统sp3下载地址 ...
- 音乐制作软件中文精简版-Nuendo 4 v4.3 WiN
- 【上古秘籍】之Eclipse的秘籍
- 去掉txt文件内的换行符
- Unity大量人物模型,及输出FBX功能。
- PAT练习笔记——4.2 散列