更新记录
1.0.0(2026-11-10) 下载此版本
- 首次发布 PDA Android 广播扫码插件。
- 支持配置广播 Action、扫码 Extra Key 和重复扫码去重时间窗。
- 扫码 Extra 按字符串读取。
平台兼容性
uni-app(5.34)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | Android插件版本 | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|---|
| - | - | × | × | - | - | 8.0 | 1.0.0 | - | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
PDA 广播扫码
uni-app 插件,通过 App-Plus Android 动态广播接收 PDA 扫描服务发送的扫码结果。
平台支持
- 支持:App-Plus Android。
- 不支持:iOS、H5、小程序。
- 扫码 Extra 按字符串读取,暂不支持
byte[]。 - 设备必须配置为通过 Android 广播/Intent 输出扫码结果;键盘模拟等输出模式不适用。
安装
将 motuu-pda-broadcast 目录放入项目的 uni_modules 目录。也可通过 HBuilderX 插件市场导入。
使用
import {
registerPdaBroadcast,
unregisterPdaBroadcast,
isBroadcastRegistered
} from '@/uni_modules/motuu-pda-broadcast/index.js'
const registered = registerPdaBroadcast({
action: 'com.android.server.scannerservice.broadcast',
extraKey: 'scannerdata',
dedupeMs: 300,
onScan(code) {
console.log('扫码结果:', code)
}
})
console.log('注册成功:', registered, isBroadcastRegistered())
// 页面或应用不再需要监听时调用
unregisterPdaBroadcast()
应用若要在多个页面间共享扫码结果,可自行将回调转发为 uni-app 全局事件:
import {
PDA_SCAN_EVENT,
registerPdaBroadcast
} from '@/uni_modules/motuu-pda-broadcast/index.js'
registerPdaBroadcast({
onScan(code) {
uni.$emit(PDA_SCAN_EVENT, { code, time: Date.now() })
}
})
插件只负责调用 onScan,不会自动创建全局事件订阅或管理本地配置。应用离开使用场景时应注销接收器。
API
registerPdaBroadcast(options)
注册动态广播接收器。成功或已注册时返回 true;平台不支持、参数无效或原生注册失败时返回 false。重复调用不会重复创建接收器,也不会替换已注册回调;需要更换配置时先注销。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
action |
string |
com.android.server.scannerservice.broadcast |
与设备扫描服务配置相同的广播 Action |
extraKey |
string |
scannerdata |
扫码字符串所在的 Intent Extra 字段 |
dedupeMs |
number |
300 |
相同内容的去重时间窗,单位毫秒;0 表示关闭去重 |
onScan |
Function |
必填 | 收到有效扫码内容时执行,参数为扫码字符串 |
扫码处理按顺序读取指定 Extra、Zebra DataWedge 字段 com.symbol.datawedge.data_string,以及 Intent data 字符串。空内容不会触发回调。
unregisterPdaBroadcast()
注销接收器并清理原生对象引用。可重复调用。
isBroadcastRegistered()
返回当前模块的广播接收器是否已注册。
resetDedupeState()
清空最近扫码内容及时间记录。
PDA_SCAN_EVENT
字符串常量 pda-scan,可供应用转发扫码回调为全局事件时使用。插件本身不会自动触发此事件。
设备配置
首次使用默认值为:
- Action:
com.android.server.scannerservice.broadcast - Extra Key:
scannerdata - 去重窗口:
300毫秒
不同设备、固件和扫描服务设置可能不同,请以设备的扫描设置或厂商文档为准。

收藏人数:
下载插件并导入HBuilderX
下载插件ZIP
赞赏(0)
下载 0
赞赏 0
下载 12756382
赞赏 1959
赞赏
京公网安备:11010802035340号