设为首页添加收藏

您好! 欢迎访问PDA导购网,最专业的选型咨询网站

选型/技术疑问留言(请点击进入留言界面)

微信
扫码关注官方微信
电话:15016095220

您的位置:首页>>技术文章>>坚果手持机售后
坚果手持机售后

坚果超高频手持机/RFID手持PDA如何实现uni-app广播模式获取超高频RFID标签信息

发布日期:2021-11-11 来源: 本站 阅读量(2609


坚果超高频手持机/RFID手持PDA如何实现UNI-APP广播模式获取超高频RFID标签信息


UNI-app如何通过广播模式获取超高频RFID手持机PDA的RFID标签扫描数据呢?当然是买一款坚果的超高频RFID手持机了!

以前通过uni-APP的第三方插件的形式实现超高频RFID手持机的二次开发来获取数据,开发人员不仅仅要关注RFID手持机的插件调用,还得关注业务,现在我们坚果超高频RFID手持机PDA直接在系统底层集成广播模式,轻松的让uni-app的开发者获取到扫描的RFID标签信息!

具体实现逻辑,请参考如下代码

在你的uni-app项目里 新建一个公共组件 就叫 scan-code 吧,放到公共组件components中,目录:components/scan-code/scan-code.vue

这里就用到了广播动作广播数据标签
filter.addAction("
jr.android.rfid")
intent.getStringExtra("jr_
rfid")
代码如下:

<template

    <view class="content"></view

</template

 

<script

var main,receiver,filter;   

var _codeQueryTag = false;   

export default { 

    data() { 

        return { 

            scanCode'' 

        } 

    }, 

    createdfunction (option) { 

        this.initScan() 

        this.startScan();   

    },   

    onHide:function(){   

        this.stopScan();   

    }, 

    destroyed:function(){   

        /*页面退出时一定要卸载监听,否则下次进来时会重复,造成扫一次出2个以上的结果*/   

        this.stopScan();   

    },   

    methods: { 

        initScan() { 

            let _this = this

            main = plus.android.runtimeMainActivity();//获取activity 

            var IntentFilter = plus.android.importClass('android.content.IntentFilter');  

            filter = new IntentFilter();   

            filter.addAction("jr.android.rfid");  //坚果RFID超高频手持机扫描RFID的广播的行为监听 

            receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver',{ 

            onReceive : function(context, intent) { 

                plus.android.importClass(intent);    

                let code = intent.getStringExtra("jr_rfid"); //获取坚果RFID超高频手持机的扫描信息

                _this.queryCode(code);   

            }});   

        },   

        startScan(){   

            main.registerReceiver(receiver,filter); 

        },   

        stopScan(){ 

            main.unregisterReceiver(receiver);   

        },   

        queryCodefunction(code){ 

            //防重复 

            if(_codeQueryTag)return false;   

            _codeQueryTag = true;   

            setTimeout(function(){   

                _codeQueryTag = false;   

            },150); 

            var id = code 

            console.log('id:', id) 

            uni.$emit('scancodedate',{code:id}) 

        } 

    } 

</script

 

<style

    page { 

        background-color: #efeff4; 

    } 

    .content { 

        text-align: center; 

    } 

</style>

 

三:页面引用,只引用一次就好,我是index.vue 引用的,我的app的其他功能都是在这个页面链接走的
直接上代码:
切记:首页往各个子页面跳转的时候 移除监听事件uni.$off('scancodedate'),要不首页的监听会一直存在,就会出现首页这个扫码
uni.navigateTo({ 
之前、之前、之前 uni.$off('scancodedate')

复制代码<template>
    <view>
        <view>你的页面内容</view>
        <scan-code></scan-code>
    </view>
</template>
 
<script>
import scanCode from "@/components/scan-code/scan-code.vue";
export default {
    components: { scanCode },
    data() {
        return {}
    }
    onShow: function() {
        var _this = this
        uni.$off('scancodedate') // 每次进来先 移除全局自定义事件监听器
        uni.$on('scancodedate',function(data){
            console.log('你想要的code:', data.code)
        })
    }
}


其他的页面引用方法:不需要再次引入scanCode
因为其他的页面都是从首页跳转过来的,所以其他的页面需要
onUnload() {
// 
移除监听事件
uni.$off('scancodedate')
}

代码如下:

复制代码onLoad() {
   var _this = this
   uni.$on('scancodedate',function(data){
        // _this 这里面的方法用这个 _this.code(data.code)
    console.log('你想要的code:', data.code)
   })
},
onUnload() {
   // 移除监听事件
   uni.$off('scancodedate')
}


如果这个页面还有详细页面需要跳转,切记 uni.navigateTo({ 之前、之前、之前 uni.$off('scancodedate')

请关注微信视频号:柳伟林-PDA导购网

请关注抖音号:PDAdaogou   (PDA导购网)

PDA软件定制开发,手持机软件定制开发,欢迎咨询PDA导购网!

各种OEM/ODM手持机,手持机PDA贴牌代工,欢迎咨询PDA导购网!

商米收银机,商米手持机,商米POS机,商米双屏收银机,欢迎咨询PDA导购网!

商米安卓手持收银机POS机、商米单屏/双屏收银机、自助收银机,欢迎咨询PDA导购网

PDA导购网(www.pdadaogou.com)专业的条码手持终端、工业级PDARFID手持机选型导购网站!

条码手持终端、盘点机,RFID手持终端,安卓PDA选型,请联系PDA导购网免费给您推荐最合适的手持终端!

联系方式:柳工    手机(微信同号):15016095220    备注:PDA导购网 



分享到

新浪微博

分享到

朋友圈

分享到

QQ空间