Android内嵌H5(2)
16lz
2021-12-04
Android嵌入H5,H5中js调用安卓的方法
1、Android方面的准备
1)创建供js调用的类,类中的方法为js所调用的方法
package com.studytest;import android.webkit.JavascriptInterface;public class ForHtmlJavaScript { @JavascriptInterface public String toFill(String arg){ return "Android has recived " + arg; } @JavascriptInterface public String toAlert(String arg){ return "Android has recived " + arg; }}
需要注意@JavascriptInterface
这个注解很重要,表示供H5中的js所调用
2)在activity类中注册该类
webView.addJavascriptInterface(new ForHtmlJavaScript(),"android");//注册为可被H5调用的方法,参数2为别名,H5调用时要用到webView.loadUrl("http://172.21.0.63/asset/pages/forAndroidAndH5.html");//加载页面
如代码注解所述,new的对象为刚刚创建的方法类的实例,第二个参数为别名,js调用方法时需要对应的标注出来
此处需要注意的是加载页面的代码一定要在注册的代码之下,否则代码功能失效
H5中js的代码
var value = window.android.toFill("is fill");//调用android方提供的toFill()方法$("#showText").val(value);//将获取的返回值填入对应的input框
js中调用的代码如第一行代码所示,android为刚刚规定的别名,别名之后直接为方法名和对应的参数
至此,H5中js调用Android方法的功能已经实现
Android内嵌H5(1)地址:https://blog.csdn.net/Dong_Da_JR/article/details/84336150
更多相关文章
- android中wifi原理及流程分析(很经典)
- Android(安卓)技术要点
- Android简明开发教程十六:Button 画刷示例
- Android(安卓)技术要点
- Android(安卓)Camera使用小结
- Android(安卓)浏览器的开发实例分享
- android jni 程序框架搭建
- Android(安卓)Camera使用小结
- android全屏,去掉title栏的办法