uniapp开发 安卓PDA扫码功能,使用设备HoneyWell CT40 霍尼韦尔CT40,解决扫码返回值为null的问题

一、设备设置

参考下文 

基于uniapp实现监听PDA扫码功能,以霍尼韦尔(EDA50P)为例,可根据默认广播适配多厂商PDA【保姆级】_uniapp扫码枪监听-CSDN博客

首先感谢这位博主老师的文,前面设备设置都是一样的

二、问题

我是直接复制粘贴了上文老师提供的代码,,改了广播动作直接扔进去跑了 ,在app里,可以监听到扫码,但是返回值都是 null 。

三、问题解决

修改后的代码

		receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
			onReceive: function(context, intent) {
				console.log('---onReceive:', context, intent);
				plus.android.importClass(intent);
				let extras = intent.getExtras();
				if (extras) {
					plus.android.importClass(extras);
					// 获取 KeySet 并导入 KeySet 类
					let keys = extras.keySet();
					plus.android.importClass(keys);
					// 获取迭代器
					let iterator = keys.iterator();
					plus.android.importClass(iterator);
					// 遍历所有键
					while (iterator.hasNext()) {
						let key = iterator.next();
						plus.android.importClass(key);
						// 获取并打印值
						let value = extras.get(key);
						if (key === 'data') {
							// 处理 'data' 键的值
							console.log('--- Data value: ', value);
							let code=value
							_this.queryCode(code);
						}
					}
				} else {
					console.log('--- Extras is null.');
				}
			}
		});

这样可以遍历到所有的键,控制台信息如下

10:28:45.455 --- Extra Key: codeId, Value: s at components/padDevice/scan-code.vue:64 10:28:45.472 --- Extra Key: dataBytes, Value: 49,50,51,52,53,54 at components/padDevice/scan-code.vue:64 10:28:45.492 --- Extra Key: data, Value: 123456 at components/padDevice/scan-code.vue:64 10:28:45.507 --- Extra Key: timestamp, Value: 2024-07-19T10:27:25.764+8:00 at components/padDevice/scan-code.vue:64 10:28:45.525 --- Extra Key: aimId, Value: ]Q1 at components/padDevice/scan-code.vue:64 10:28:45.543 --- Extra Key: version, Value: 1 at components/padDevice/scan-code.vue:64 10:28:45.562 --- Extra Key: charset, Value: ISO-8859-1 at components/padDevice/scan-code.vue:64 10:28:45.579 --- Extra Key: scanner, Value: dcs.scanner.imager at components/padDevice/scan-code.vue:64 

可以看到很多Extra Key ,只要把里面想要的值获取到就行了,

---我是菜鸡,代码写的很垃圾,欢迎各位老师指导交流,第一次发文,求轻喷

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值