美文网首页
2022-05-16 uniapp 开发pda扫描

2022-05-16 uniapp 开发pda扫描

作者: jinya2437 | 来源:发表于2022-12-11 11:43 被阅读0次
前言

我们知道PDA(优博讯)设置模块-输出方式 有键盘方式输出 和广播输出
①.键盘方式输出,直接调用uniapp的文本框回车能拿到扫描的值
②.广播输出需开发些额外代码,需获取【广播动作】A和【广播数据标签】B。以下讲解用A与B指代了

问题点:PDA是基恩士牌子(PDA设置模块-广播方式输出),从浏览器测试是OK的。安装apk后需扫2次才获取到值。解决方案:采用广播方式输出

先贴2张图,这里是优博讯的扫描设置


1670815827937_44FDFCB3-D39A-4d29-BAE9-F4BB776F2FAF.png 1670815866773_D11B2059-8DFF-492e-AE98-975203F71976.png

1、定义扫描工具类scanCode.js

let main;
let filter;
let receiver;
let tag = false;
/**
 * 开始广播监听扫码
 */
const start = () => {
  /* #ifdef APP-PLUS */
  main.registerReceiver(receiver, filter);
  /* #endif */
}


/**
 * 停止广播监听扫码
 * that:传this;
 */
const stop = () => {
  /* #ifdef APP-PLUS */
  main.unregisterReceiver(receiver);
  /* #endif */
}


/**  剩余下个变量已经做了全局变量
 *
 * 定义广播
 * that:传this;
 */
const init = (onReceive) => {
  /* #ifdef APP-PLUS */
  //获取activity
  main = plus.android.runtimeMainActivity();
  const IntentFilter = plus.android.importClass('android.content.IntentFilter');
  filter = new IntentFilter();
  // 扫描设置的广播名称A(上面指代了)
  filter.addAction("android.intent.ACTION_DECODE_DATA");
  receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
    onReceive: function(context, intent) {
      plus.android.importClass(intent);
      // 扫描设置的标签名称B(上面指代了)
      const code = intent.getStringExtra("barcode_string");
      if (tag) return;
      tag = true;
      setTimeout(function() {
        tag = false;
      }, 150);
      //到这里扫描成功了,可以调用自己的业务逻辑,code就是扫描的结果    return出code进行业务处理
      onReceive && onReceive(code);
    }
  });
  /* #endif */

}

export const broadcastScan = {
  init,
  start,
  stop,
};


2.挂在vue原型链上 ,在main.js

import {broadcastScan} from '@/common/scanCode'
Vue.prototype.$broadcastScan=broadcastScan

3.调用函数获取扫描的值

 onLoad(option){
    this.$broadcastScan.init(this.getScancode);
  },
  onUnload() {
    this.$broadcastScan.stop();
  },
  onHide() {
    this.$broadcastScan.stop();
  },
  onShow() {
    this.$broadcastScan.start();
  },
 methods:{
    getScancode(code){
      // 有些PDA会自带换行符,trim函数处理下
      code=code.trim()
      //code就是扫描获取的值
       console.log(code)
    },
}

相关文章

  • 2022-05-16 uniapp 开发pda扫描

    前言 我们知道PDA(优博讯)设置模块-输出方式 有键盘方式输出 和广播输出①.键盘方式输出,直接调用uniapp...

  • uniapp监听PDA激光扫描

    我们先打开PDA手机设置->扫描->Default->关闭(键盘方式输出) 才能使用广播监听。 在你的uni-ap...

  • pda扫描器与条码扫描枪的区别是什么?

    其实PDA等于扫描枪?错!这两种产品性质不同,价格也有所不同。普通的pda和普通的扫描抢对比,pda的价格是会高一...

  • 数据采集是无线PDA的特点

    数据采集是无线PDA最大的特点,较为常见的是条码扫描、二维码扫描等,通过PDA的扫描来读取信息。作为数据采集终端,...

  • 东大集成PDA扫描开发

    前言 在android开发过程中,我们经常会涉及到扫描的问题,但是对于一些要求度比较高的情景的话,手机自带的摄像头...

  • 2019-06-28

    什么是物流PDA? 物流PDA,又叫物流条码扫描枪,物流手持机设备或物流扫码枪,中转场/仓库数据采集,通过扫描快件...

  • PDA扫描设置

    优博讯PDA扫描设置:http://blog.sina.com.cn/s/blog_7db5a9b70102yl2...

  • PDA无法扫码是怎么回事?

    PDA将条码扫描装置、无线数据通讯技术和数据存储装置一体化,是多功能集合的手持数据采集设备。PDA与扫描枪的区别在...

  • PDA 扫描监听插件

    效果? 使用? Installation Add this to your package's pubspec.y...

  • 手持pda怎么使用?

    手持pda可用作门店、仓库盘点,可看成是移动的电脑终端,有电池、有屏幕,通过扫描条码来进行商品的录入。手持pda有...

网友评论

      本文标题:2022-05-16 uniapp 开发pda扫描

      本文链接:https://www.haomeiwen.com/subject/wvfwurtx.html