本帖最后由 willning 于 2024-12-17 09:29 编辑
活字格PDA解决方案可以帮助开发者适配运行Android系统的PDA,通过调用硬件(如扫描头、GPS、蓝牙打印机、NFC等)的能力,进一步提升最终用户的使用体验。
安装包
系统架构 解决方案由活字格安卓容器(HAC)APP和PDA交互命令插件构成。
使用方法 使用该解决方案无需具备任何编码开发能力。
- 开发者在活字格设计器上安装【PDA交互命令】插件
- 开发者在开发应用时,使用该插件提供的功能
- 开发者将应用发布到活字格云或私有化部署的服务器
- IT在Chrome浏览器中打开配置码生成器,输入步骤3中发布的应用的URL地址,以及其他配置信息,生成配置码并将其导出为PDF
- IT在PDA上安装HAC(应用名:业务平台)
- IT打开HAC,点击扫码图标,扫描步骤4生成的PDF文件中的二维码
- 确认无误后,将PDA交给业务人员使用
典型厂商的扫描头广播名称和键值(默认值,用户或管理员可能做过修改)
注意:需要在厂商提供的设置程序中,将扫码模式修改为“广播”或“Intent”,才能正常使用。扫描头和UHF的广播通常需要在不同的APP中单独配置。以优博讯的DT50U为例,RFID在【RFIDWedge】应用中配置,扫描头在【设置】APP中“扫描设置”菜单里配置。如果遇到困难,请联系设备厂商寻求技术支持。
厂商 | 广播名称(Action) | 广播键值(Extra) | 东大集成(Q9等老产品,扫描头) | com.android.server.scan | scannerdata | 东大集成(小码哥等新产品,扫描头/UHF) 配置教程 | com.android.server.scannerservice.broadcast | scannerdata | 优博讯(扫描头) | android.intent.ACTION_DECODE_DATA | barcode_string | 优博讯(UHF) | com.ubx.scan.rfid | rfid_data | 盈达iData | android.intent.action.SCANRESULT | value | 成为(扫描头) | com.scanner.broadcast | data | 成为(UHF) | com.rscja.scanner.action.scanner.RFID | data | 商米 | com.sunmi.scanner.ACTION_DATA_CODE_RECEIVED | data | * 更多设备厂商的数据待补充
兼容性测试 除了常见的Android手机,我们使用一些主流PDA设备进行兼容性测试,结果如下表所示。
设备型号 | 基础功能 | 照片上传 | 文件上传 | 摄像头扫码 | 扫描头扫码 | RFID扫码 | 东大集成 Q9/Q9C/Q7/小码哥A/小码哥5G/UTOUCH/UTOUCH2 | √ | √ | √ | √ | √ | √(仅UTouch/UTOUCH2) | 优博讯 DT40/DT50/DT50U(Android 11) | √ | √ | √ | √ | √ | √(DT50U) | 盈达 P50/iData50(Android 9) | √ | √ | √ | √ | √ | | 成为 C72(Android 11) | √ | √ | √ | √ | √ | √ |
蓝牙打印机的兼容性测试结果:
- 德佟 DP30:OK(德佟方案)
- 佳博的GP-M322:OK(ESC方案)
实用教程
扩展开发
如需基于本方案开发或集成更多能力,或者其他个性化配置,可以基于我们提供的源代码进一步开发。
- HAC:源代码 (考虑到部分依赖项仅保存在JCenter,HAC需在Gradle 8.0中编译,兼容JDK版本17,设置Android Studio的Gradle和JDK版本)
- PDA交互命令插件:源代码 (Visual Studio 2022)
常见问题 Q:方案仅能用在PDA上吗,可以在手机上使用吗? A:HAC是Android的原生应用,在版本不低于8.0,运行内存不低于2GB的Android设备上均可运行。考虑到内置对Android应用的支持,鸿蒙OS上也可以安装使用HAC。 Q:HAC和官方的Android APP有什么区别? A:在执行效果上,两者差异不大,均可以用来“打包”使用活字格开发的Web应用。在技术上,HAC采用Java开发,开放源代码。开发者无需掌握ReactNative框架,只要会Java和Android原生APP开发就可以接手进行扩展开发,最大化利用Android开发生态中的各类资源和开源类库。 Q:我可以直接在HAC中展示PC端页面吗? A:如果使用的终端是主流的平板电脑或高性能手机,这样做是可以的。但是,使用Cortex-A53低功耗CPU的PDA的处理能力通常远低于手机,您需要在开发时做好性能优化,这意味着PDA的页面设计与其他设备不同,具体方式请参考 最佳实践Q:我可以定制应用的名称和图标吗? Q:一台PDA上可以安装两个HAC吗? A:不能。你需要获取源代码,修改包名、图标、应用名称等信息后分别打包成不同的应用后安装。 Q:我可以将应用的首页地址和扫描器的参数内置进APP,无需配置,开箱即用吗? A:可以。你需要做的事情是从码云获取HAC的最新代码,修改strings.xml中app_default_entry、feature_scanner_broadcast_name、feature_scanner_extra_key_barcode_broadcast、feature_uhf_broadcast_name、feature_uhf_extra_key_barcode_broadcast的值,然后自行编译。这一操作的原理是,如果app_default_entry不为空,APP会跳过配置页面,在第一次打开时,直接进入Web页面。 Q:我该如何启用UHF/RFID的广播功能? A:如果您手头有PDA的说明文档,请在文档中查找关于“RFID设置”或“UHF”设置的章节。通常情况下,设备厂商会提供一个设置程序,如东大集成的UHF或优博讯的RFIDWEDGE。在这个程序中,您首先需要打开广播功能,然后配置广播的action和包含有您需要的属性(如EPC)的extra的key。如果您的设备在厂商的服务期内,也可以直接对接厂商客服,比如这样说:“我现在使用的软件用广播的方式读取UHF的扫描结果,软件配置界面上要求提供广播Action和Extra key,如com.rscja.scanner.action.scanner.RFID和data,你们的设备该如何启用广播,从哪里看到或修改这两个值?” Q:我可以通过这个方案获取当前的位置信息吗? A:可以。你可以通过标准的H5方法(getCurrentLocation)获取地理位置,或采用插件中提供的“获取地理位置”命令,获取指定坐标系的地理位置坐标。考虑到Android的机制,我们推荐您采用后者,响应速度更快。 Q:什么时候该启用硬件加速? A:这里的硬件加速主要是提升渲染速度,如果你的应用运行在较新的手机上,硬件加速可以让页面刷新更流畅,如果运行在PDA上,推荐关闭硬件加速。当然,任何时候,如果你发现页面展示有问题,比如有一部分区域是模糊的,请关闭硬件加速。 Q:HAC启动时提示WebView版本过低怎么办?A:活字格适配的WebView主版本为87或更新(VersionName中的第一段,如88.0.3359.158的主版本是88),您可以在APP内置的【设置】界面上看到当前设备中WebView的版本。我们强烈推荐您联系设备厂商,升级WebView组件,否则可能会遭遇页面渲染错误、操作卡顿或无法加载的问题;如果因为设备原因确实无法升级,可在【设置】界面上勾选“跳过WebView兼容性检查”,临时使用旧版本WebView,但此时活字格和插件将很难保证完美兼容。 |