h5
今H5的广泛应用,使得Android与H5交互也变得十分广泛,这篇文章就交互问题浅谈一下。
Android通过内置的控件Webview来加载H5页面。webview的应用十分简单,只有设置一下其属性即可。代码如下:
webView.setVerticalScrollBarEnabled(false);
webView.setHorizontalScrollBarEnabled(false);
webView.getSettings().setJavaScriptEnabled(true); //加上这句话才能使用javascript方法
webView.getSettings().setDomStorageEnabled(true);
webView.requestFocus();
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setSupportZoom(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setSavePassword(false);
webView.getSettings().setSaveFormData(false);
webView.getSettings().setSupportZoom(false);
而在H5页面里面代码如下
getUserinfo: | |
然后接下来就是在Android里面实现交互的东西了:
webView.addJavascriptInterface(new PayJavaScriptInterface(), "demo");这句话就是给android添加javascript代码,让H5页面能够调用,第二个参数对应的是H5里面的"
“window”后面的值。
在activity里面实现H5里面的方法,注意方法之前要加上注解“@JavascriptInterface”,当android:targetSdkVersion的数值小于17无所谓,当大于等于17时就必须添加,否则不会调用方法里面的java代码。
final class PayJavaScriptInterface {
PayJavaScriptInterface() {
}
@JavascriptInterface
public String getUserinfo() {
}
@JavascriptInterface
public boolean needLogin() {
}
}
到此,就可以实现交互功能,如果Android需要提交数据给H5的话,就可以把所需的内容转为Json串即可。
如何提交?
更多相关文章
- android获取状态栏的高度。
- Android之获取画面大小
- Android(安卓)内置浏览器之webview
- Android(安卓)代码混淆及遇到的问题
- android中BaseActivity的公共方法
- Android使用SimpleAdapter更新ListView里面的Drawable元素
- Android:Smali语法中文介绍
- Android的蓝牙串口(Bluetooth SPP)使用
- android系统信息(内存,cpu,sd卡,电量,版本)的获取