mirror of
https://gitee.com/willfree/min-vpn-client_v2.git
synced 2026-06-06 02:09:28 +08:00
quick_android_webview 模块说明文档
本模块提供一个简单的H5容器实现方案。
- 接入腾讯的X5浏览器内核,比原生的更安全且对js的新特性有更好的支持,兼容性问题较少,同时支持和QQ、微信等共享内核,可以大大减少APP包的体积。
- 本模块实现一个简单的
Android Webview BridgeQuickAndroidWebBridge,可以实现js调用原生的扫码、图片选择、获取设备信息等功能
-
使用说明
-
首先在你的作为H5容器的Acivity中使用
QuickAndroidWebview替代原生的Webview进行布局<cn.qjm253.quick_android_webview.views.QuickAndroidWebview android:id="@+id/quickAndroidWebview" android:layout_width="match_parent" android:layout_height="match_parent"> </cn.qjm253.quick_android_webview.views.QuickAndroidWebview> -
接着在Activity中使用
// 初始化操作,绑定通信桥 QuickAndroidWV .init(this, quickAndroidWebview) // 加载URL quickAndroidWebview.loadUrl("file:///android_asset/www/test.html") -
完成上面两步,基本上H5容器就可以使用了,H5端搭配使用quick_android_web_bridge 这一JS库便可进行原生功能的调用
-
-
提供的原生调用能力如下:
H5端具体如何接入,参考quick_android_web_bridge
-
toast(吐司弹窗)
H5端可以使用quick_android_web_bridge调用原生的toast
/** * 调用Android原生的toast接口 * * @param msg 要显示的信息 */ function toast(msg: string) // 使用示例 QuickAndroidWebBridge.scanCode() -
scanCode(扫码)
H5端可以使用quick_android_web_bridge调用原生的扫码功能,并得到扫码的结果
/** * 调用原生 的扫码功能,并得到扫码的结果 * * @return 返回一个Promise对象,可以异步的得到扫码结果 */ function scanCode(): Promise<string> // 使用示例 QuickAndroidWebBridge.scanCode() .then(result => { // 扫码成功,在此处理扫码的结果 }) .catch(err => { // 发生错误,在此处理错误 }) -
getSystemInfo(获取Android设备的信息)
H5端可以使用quick_android_web_bridge获取到当前Android手机的设备信息
/** * 获取当前手机系统的信息 * * @return 返回一个Promise对象,可以异步得到扫码结果 */ function getSystemInfo(): Promise<SystemInfo> // 使用示例 QuickAndroidWebBridge.getSystemInfo() .then(result => { // 获取系统信息成功,在此处理结果 }) .catch(err => { // 发生错误,在此处理错误 })- 获取到的信息如下所示:
属性名 属性类型 属性说明 brand string 手机品牌 model string 手机型号 hardware string 手机硬件信息 sdkInt number Android SDK 版本 release string 手机系统版本号 statusBarHeight number 手机系统状态栏的高度(px) systemLanguage string 当前手机上使用的语言
- 获取到的信息如下所示:
-