2022-05-16 uniapp 開(kāi)發(fā)pda掃描

前言

我們知道PDA(優(yōu)博訊)設(shè)置模塊-輸出方式 有鍵盤方式輸出 和廣播輸出
①.鍵盤方式輸出谬哀,直接調(diào)用uniapp的文本框回車能拿到掃描的值
②.廣播輸出需開(kāi)發(fā)些額外代碼翁狐,需獲取【廣播動(dòng)作】A和【廣播數(shù)據(jù)標(biāo)簽】B忌卤。以下講解用A與B指代了

問(wèn)題點(diǎn):PDA是基恩士牌子(PDA設(shè)置模塊-廣播方式輸出),從瀏覽器測(cè)試是OK的炫掐。安裝apk后需掃2次才獲取到值仓蛆。解決方案:采用廣播方式輸出

先貼2張圖,這里是優(yōu)博訊的掃描設(shè)置


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;
/**
 * 開(kāi)始廣播監(jiān)聽(tīng)掃碼
 */
const start = () => {
  /* #ifdef APP-PLUS */
  main.registerReceiver(receiver, filter);
  /* #endif */
}


/**
 * 停止廣播監(jiān)聽(tīng)掃碼
 * that:傳this溉贿;
 */
const stop = () => {
  /* #ifdef APP-PLUS */
  main.unregisterReceiver(receiver);
  /* #endif */
}


/**  剩余下個(gè)變量已經(jīng)做了全局變量
 *
 * 定義廣播
 * that:傳this;
 */
const init = (onReceive) => {
  /* #ifdef APP-PLUS */
  //獲取activity
  main = plus.android.runtimeMainActivity();
  const IntentFilter = plus.android.importClass('android.content.IntentFilter');
  filter = new IntentFilter();
  // 掃描設(shè)置的廣播名稱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);
      // 掃描設(shè)置的標(biāo)簽名稱B(上面指代了)
      const code = intent.getStringExtra("barcode_string");
      if (tag) return;
      tag = true;
      setTimeout(function() {
        tag = false;
      }, 150);
      //到這里掃描成功了浦旱,可以調(diào)用自己的業(yè)務(wù)邏輯宇色,code就是掃描的結(jié)果    return出code進(jìn)行業(yè)務(wù)處理
      onReceive && onReceive(code);
    }
  });
  /* #endif */

}

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


2.掛在vue原型鏈上 ,在main.js

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

3.調(diào)用函數(shù)獲取掃描的值

 onLoad(option){
    this.$broadcastScan.init(this.getScancode);
  },
  onUnload() {
    this.$broadcastScan.stop();
  },
  onHide() {
    this.$broadcastScan.stop();
  },
  onShow() {
    this.$broadcastScan.start();
  },
 methods:{
    getScancode(code){
      // 有些PDA會(huì)自帶換行符颁湖,trim函數(shù)處理下
      code=code.trim()
      //code就是掃描獲取的值
       console.log(code)
    },
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末宣蠕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子甥捺,更是在濱河造成了極大的恐慌抢蚀,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件镰禾,死亡現(xiàn)場(chǎng)離奇詭異皿曲,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)吴侦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門谷饿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人妈倔,你說(shuō)我怎么就攤上這事博投。” “怎么了盯蝴?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵毅哗,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我捧挺,道長(zhǎng)虑绵,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任闽烙,我火速辦了婚禮翅睛,結(jié)果婚禮上声搁,老公的妹妹穿的比我還像新娘。我一直安慰自己捕发,他們只是感情好疏旨,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著扎酷,像睡著了一般檐涝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上法挨,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天谁榜,我揣著相機(jī)與錄音,去河邊找鬼凡纳。 笑死窃植,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的荐糜。 我是一名探鬼主播撕瞧,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼狞尔!你這毒婦竟也來(lái)了丛版?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤偏序,失蹤者是張志新(化名)和其女友劉穎页畦,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體研儒,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡豫缨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了端朵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片好芭。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖冲呢,靈堂內(nèi)的尸體忽然破棺而出舍败,到底是詐尸還是另有隱情,我是刑警寧澤敬拓,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布邻薯,位于F島的核電站,受9級(jí)特大地震影響乘凸,放射性物質(zhì)發(fā)生泄漏厕诡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一营勤、第九天 我趴在偏房一處隱蔽的房頂上張望灵嫌。 院中可真熱鬧壹罚,春花似錦、人聲如沸寿羞。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)稠曼。三九已至,卻和暖如春客年,著一層夾襖步出監(jiān)牢的瞬間霞幅,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工量瓜, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留司恳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓绍傲,卻偏偏與公主長(zhǎng)得像扔傅,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子烫饼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 前言 這段時(shí)間猎塞,公司一直在挑用不同的pda,于是各種掃描調(diào)用學(xué)習(xí)起來(lái)杠纵,之前荠耽,用的優(yōu)博訊的pda并沒(méi)有提供相關(guān)開(kāi)發(fā)文...
    奔跑的佩恩閱讀 4,309評(píng)論 0 1
  • 我們先打開(kāi)PDA手機(jī)設(shè)置->掃描->Default->關(guān)閉(鍵盤方式輸出) 才能使用廣播監(jiān)聽(tīng)。 在你的uni-ap...
    南苑bert閱讀 4,087評(píng)論 4 5
  • 1. 原理 說(shuō)明:項(xiàng)目中使用的是標(biāo)準(zhǔn)的掃碼槍比藻,標(biāo)準(zhǔn)的意思就是它都不給開(kāi)發(fā)文檔铝量。走的標(biāo)準(zhǔn)“輸入事件”,和外接鍵盤是一...
    瑟聞風(fēng)傾閱讀 16,753評(píng)論 10 11
  • 前言 在android開(kāi)發(fā)過(guò)程中银亲,我們經(jīng)常會(huì)涉及到掃描的問(wèn)題慢叨,但是對(duì)于一些要求度比較高的情景的話,手機(jī)自帶的攝像頭...
    奔跑的佩恩閱讀 4,228評(píng)論 0 0
  • 前言 在很多的業(yè)務(wù)場(chǎng)景中會(huì)涉及到二維碼掃描的問(wèn)題务蝠,而pda專注于掃描的移動(dòng)設(shè)備拍谐,不同的pda品牌會(huì)有不同的掃描調(diào)用...
    奔跑的佩恩閱讀 1,955評(píng)論 3 1