y***@163.com
y***@163.com
  • 发布:2023-03-24 17:35
  • 更新:2023-03-25 22:37
  • 阅读:219

PDA扫码触发不到广播的回调,帮看下是哪里的问题?

分类:Native.js

设备摩比m71,扫码设置如下:

代码也是用的社区里的:

<template>  
    <view class="content"></view>  
</template>  

<script>  
    var main, receiver, filter;  
    var _codeQueryTag = false;  
    export default {  
        data() {  
            return {  
                scanCode: ''  
            }  
        },  
        created: function(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("com.android.decodewedge.decode_action"); // 换你的广播动作    
                console.log(456)  
                receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {  
                    onReceive: function(context, intent) {  
                        console.log('scan回调')  
                        plus.android.importClass(intent);  
                        let code = intent.getStringExtra("barcode_string"); // 换你的广播标签    
                        _this.queryCode(code);  
                    }  
                });  
            },  
            startScan() {  
                main.registerReceiver(receiver, filter);  
            },  
            stopScan() {  
                main.unregisterReceiver(receiver);  
            },  
            queryCode: function(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>

广播动作设置的也都对,但是扫码后就是没有触发回调!帮看看是哪里的问题

2023-03-24 17:35 负责人:无 分享
已邀请:
y***@163.com

y***@163.com (作者)

有做过的吗

y***@163.com

y***@163.com (作者)

在线等

y***@163.com

y***@163.com (作者)

在线等

  • RMM

    楼主解决了吗

    2023-06-02 09:56

  • y***@163.com (作者)

    回复 RMM: 设备问题,换设备就正常了

    2023-08-22 10:13

要回复问题请先登录注册