uniapp PDA广播扫码
生活随笔
收集整理的這篇文章主要介紹了
uniapp PDA广播扫码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
uniapp 監聽PDA掃描工具數據
1、需求是:App監聽東大PDA內置的掃描工具,通過掃描工具掃描條碼,把數據自動賦值在input輸入框,無需手動設置或者調用uniapp的uni.scanCode({})去賦值
2、這里聲明下,在封裝的JS里面,你需要知道你的PDA的廣播動作,鍵值稱,去設置后,才能對應生效,我這邊是東大的出廠設置
3、調用的代碼已經封裝成js,直接去復制調用即可,感覺能解決了問題的,動動小指頭點個贊~ O(∩_∩)O
附帶一張掃描工具樣子:
A、頁面上的調用如下:
import { websocetObj } from '@/utils/websocet/websocet.js';methods:{getScancode(code){this.config =code}},onLoad() {//init傳入一個回調函數做參數,在掃描的時候會將數據傳入這個方法里,然后在處理你的業務邏輯broadcastScan.init(this.getScancode);},onUnload() {broadcastScan.stop();},onHide() {broadcastScan.stop();},onShow() {broadcastScan.start();}B、創建一個js文件,復制以下代碼。
let main; let filter; let receiver; let tag = false; /*** 開始廣播監聽掃碼* that:傳this;*/ 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 *///獲取activitymain = plus.android.runtimeMainActivity();const IntentFilter = plus.android.importClass('android.content.IntentFilter');filter = new IntentFilter();// 掃描設置的廣播名稱filter.addAction("com.android.server.scannerservice.broadcast");receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {onReceive: function(context, intent) {plus.android.importClass(intent);// 掃描設置的開發者選項--鍵值名稱 scannerdataconst code = intent.getStringExtra("scannerdata");// 業務//防重復if (tag) return;tag = true;setTimeout(function() {tag = false;}, 150);//到這里掃描成功了,可以調用自己的業務邏輯,code就是掃描的結果 return出code進行業務處理onReceive && onReceive(code);}});/* #endif */}export const broadcastScan = {init,start,stop, };此處附帶PDA拍照的坑的文章:https://blog.csdn.net/ZhouLoverBrother/article/details/114832566?spm=1001.2014.3001.5502
總結
以上是生活随笔為你收集整理的uniapp PDA广播扫码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统uptime解读,Linu
- 下一篇: 胜利vs50线跟vs100线区别_BV线