# BarcodeAidl **Repository Path**: speedata_1/barcode-aidl ## Basic Information - **Project Name**: BarcodeAidl - **Description**: 通过aidl对接Barcode的配置接口,可进行码制相关的如使能和最大最小识读长度等,快速修改并即时生效。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-09-18 - **Last Updated**: 2025-09-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 本接口是基于AIDL实现的,接口实现是Barcode扫描服务。主要功能是码制相关的设置。 首先请直接参考主页面MainActivity.java文件,二次开发可使用README文件夹下的aar包。 Methods | Method | Description | Parameters | Throws | |---------------------------|--------------------------------------------------------------|-----------------------------|-------------------------| | initBarcodeService() | 初始化与条码扫描服务的连接。尝试从系统服务中获取 spdBarcode 服务的实例。 | None | None | | configBarcode8String() | 发送一个 JSON 格式的字符串到条码扫描服务以配置扫描器。 | String config - JSON 格式的配置字符串 | RuntimeException - 如果遇到远程异常 | 1.scanAidl部分可以打包成aar、jar包使用。直接用lib也是可以的,但客户环境一般会缺失android.os.ServiceManager。 2.示例demo中其实是json字符串的具象化,也可以自己创建需要的类。 3.具体的指令内容可以参考README文件夹下的json.txt文件。 4.建议单次只少量下发要修改的内容,不做修改的内容不下发。 5.核心功能代码就是这一句:scanManager.configBarcode8String("{\"scan_setting\":[{\"softwareEngine\":[{\"AIM128.Enable\":\"0\"}]}]}") 6.注意使用时别忘记初始化,softwareEngine对应的是码制设置,common对应的是扫描配置,具体请查看json.txt文件。 其中单个配置内容就是:{\"AIM128.Enable\":\"0\"} 表示禁用AIM128码写0,启用AIM128码写1。 多个条码参数配置示例:"{\"scan_setting\":[{\"softwareEngine\":[{\"CODE128.Enable\":\"1\",\"CODE128.Minlen\":\"14\"}]}]}" 需要注意的是:扫描服务码制设置页面UI显示并不是实时刷新的,通过接口修改码制后,可以重新进入码制页面查看。实际生效是在配置后实时修改的。 另外,桌面上的《扫描配置》中的修改,不是实时生效的,页面上的修改需要在退出或切换配置页面后生效,这点需要在使用时注意。