HAC 入门

了解活字格 Android 容器(HAC)的定位、能力边界、运行方式和常用术语。

HAC 是什么

HAC 的全称是 Huozige Android Container,即活字格 Android 容器。可以把它理解为安装在运行 Android 8.0 及以上版本的手机、平板或工业 PDA 上的“运行壳”:它负责打开活字格 Web 应用,并在页面与设备硬件之间建立连接。

因此,页面不仅能完成普通 Web 页面能做的展示、录入和提交,还能在已配置和授权的设备上调用扫码头、定位、相机、NFC、BLE 和物理按键等能力。HAC 本身不承载业务规则或业务数据;这些仍由活字格应用处理,HAC 负责提供 Android 运行环境和设备能力桥接。

HAC 适合仓储、物流、门店、巡检和生产线等现场作业。它让同一套活字格业务页面可以在运行 Android 8.0 及以上版本的手机、平板或工业 PDA 上运行,同时保留设备厂商提供的硬件输入方式。

HAC 的整体工作关系

HAC 位于活字格 Web 应用和 Android 设备之间。开发人员在活字格设计器中安装所需插件并发布应用;设备上的 HAC 通过 WebView 打开应用页面;页面再通过插件命令请求扫码、定位、拍摄等设备能力。HAC 完成调用和结果传递,页面负责校验结果并保存业务数据。

HAC 整体工作关系图

其中,插件决定页面可以使用哪些交互命令,Android 系统权限和设备厂商配置决定这些命令能否真正执行。HAC、插件、WebView、Android 版本和 PDA 型号需要作为一个整体进行兼容性验证。

HAC 不是什么

  • HAC 不是业务系统或应用服务器,不负责设计页面、执行业务规则或保存服务端业务数据;
  • HAC 不是把活字格页面编译成原生 Android 页面,而是通过 WebView 加载 Web 应用;
  • HAC 不是能够自动兼容所有 Android 设备的通用硬件驱动层,具体能力取决于设备硬件、系统权限、厂商配置和版本;
  • HAC 不是完整的离线业务同步方案。离线数据的主键、幂等提交、补传和冲突处理仍需要由业务页面设计。

HAC 能做什么

能力类别典型用途
页面容器打开活字格应用、维持登录和页面导航
扫描输入接收激光 / 二维码扫描头或 UHF / RFID 结果
Android 能力调用相机、麦克风、定位、NFC、BLE 和系统认证
现场交互接收物理按键、广播、震动和提示音
应用辅助离线暂存、文件访问、PDF 预览和蓝牙打印

具体命令、前提和异常处理见插件功能列表

HAC 与普通浏览器

普通浏览器可以加载活字格 Web 应用,但不能直接访问 HAC 暴露的 Android 设备能力。页面需要根据运行环境决定是否显示扫描、定位、拍摄或其他硬件入口。

运行环境可以做什么不能假设什么
普通浏览器页面展示、表单、网络请求和普通 Web 交互不能假设能调用 PDA 扫描头、UHF、NFC、BLE 或系统认证
HAC加载 Web 应用并桥接已配置的 Android 能力不能假设每台设备都有相同硬件、权限或 WebView 版本

建议在页面初始化时识别运行环境;能力不可用时隐藏入口,或给出明确的备用操作。

运行边界

HAC 只负责容器和设备能力桥接,业务页面仍需要自己处理:

  • 当前任务、对象、数量和提交状态;
  • 权限拒绝、设备未配置、网络异常和服务端校验失败;
  • 连续扫码、广播监听、BLE 订阅和物理按键监听的页面生命周期;
  • 离线数据的业务主键、幂等提交、补传和冲突处理。

可以把一次现场作业理解为:

HAC 启动
-> 页面加载
-> 页面调用设备能力
-> HAC 返回结果
-> 页面校验并保存业务数据

常用术语

术语约定
HAC活字格 Android 容器;后文统一使用 HAC
PDA工业手持终端或其他现场 Android 设备,不等同于 HAC
Android设备操作系统;版本和权限会影响 HAC 能力
WebViewHAC 加载 Web 应用所依赖的 Android 组件
插件在活字格设计器中安装、提供 PDA / Android 交互命令的扩展
命令页面调用插件能力的具体操作,例如持续扫码或读取定位
广播 / Intent设备把扫描结果发送给 HAC 的系统通信方式
离线模式页面导航或网络行为的控制;不等于完整的业务同步方案

下一步

本页目录