一、Android想要与H5页面实现交互,其实就是java与h5的web页面中的JS通讯,从而实现交互效果。博客的主要内容为:androd加载Html页面、android客户端怎样调用H5中的方法、H5如何调用android中的方法。
二、功能实现
1、android中通过webview加载显示H5页面,webview既可以加载本地的Html页面,也可以加载一个网址。
//设置页面支持JavaScript
wvPrinter.getSettings().setJavaScriptEnabled(true);
// wvPrinter.loadUrl("https://www.baidu.com/");
//本地Html文件保存在asset文件夹中
wvPrinter.loadUrl("file:///android_asset/Printer.html");
2、H5页面调用Java中的方法,必须设置webview支持JavaScript。再打开JS接口。这个方法需要传入两个参数,一个是与H5页面交互的类对象,另一个是该类的别名,H5页面的JS需要通过别名找到交互类中的方法。所以这个别名也是十分重要的。
//打开js接口給H5调用,参数1为本地类名,参数2为别名;h5用window.别名.类名里的方法名才能调用方法里面的内容,
// 例如:window.android.XXX();
wvPrinter.addJavascriptInterface(new PrinterJsInteration(), "android");
写一个传入JS接口的类,在该类中定义需要被JS调用的方法,每个与H5交互的方法都需要添加 @Javas