火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 3366|回复: 5
打印 上一主题 下一主题

这是一个获取扫描头数据的广播例子,求转火山例子谢谢

[复制链接]

14

主题

264

帖子

1789

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1789
跳转到指定楼层
楼主
发表于 2020-9-18 15:43:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是一个获取扫描头数据的广播例子,求转火山例子谢谢


onLoad() {  

            page = this;  

            this.title = "开始监听!";  

            var main = plus.android.runtimeMainActivity(); //获取activity   
            var context = plus.android.importClass('android.content.Context'); //上下文   
            var receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {  
                onReceive: doReceive  
            });  
            var IntentFilter = plus.android.importClass('android.content.IntentFilter');  
            var Intent = plus.android.importClass('android.content.Intent');  
            var filter = new IntentFilter();  

            //针对优博讯安卓PDA-i6300A添加监听,其它优博讯的型号应该一样或类似  
            filter.addAction("android.intent.ACTION_DECODE_DATA"); //监听扫描  

            main.registerReceiver(receiver, filter); //zc监听   

            function doReceive(context, intent) {  

                //通过intent实例引入intent类,方便以后的‘.’操作   
                plus.android.importClass(intent);  

                //条码内容  
                var barcodeBytes = intent.getByteArrayExtra("barcode");  
                var barcode = byteToString(barcodeBytes);  

                //条码长度  
                var barcodeLength = intent.getIntExtra("length", 0);  
                //var myArray = new ArrayBuffer(0);  
                //条码类型  
                var barcodeTypeBytes = intent.getByteExtra("barcodeType", (0 | 0));  
                var barcodeType = byteToString(barcodeTypeBytes);  

                // uni.showModal({  
                //  content: '条码:' + barcode + '\r\n长度:' + barcodeLength + '\r\n类型:' + barcodeType,  
                //  showCancel: false  
                // });  
                page.title = barcode;  
                //console.log(barcode);   
                //main.unregisterReceiver(receiver);//取消监听   
            }  

            function byteToString(arr) {  
                if (typeof arr === 'string') {  
                    return arr;  
                }  
                var str = '',  
                    _arr = arr;  
                for (var i = 0; i < _arr.length; i++) {  
                    var one = _arr[i].toString(2),  
                        v = one.match(/^1+?(?=0)/);  
                    if (v && one.length == 8) {  
                        var bytesLength = v[0].length;  
                        var store = _arr[i].toString(2).slice(7 - bytesLength);  
                        for (var st = 1; st < bytesLength; st++) {  
                            store += _arr[st + i].toString(2).slice(2);  
                        }  
                        str += String.fromCharCode(parseInt(store, 2));  
                        i += bytesLength - 1;  
                    } else {  
                        str += String.fromCharCode(_arr[i]);  
                    }  
                }  
                return str;  
            }  

        }

回复

使用道具 举报

11

主题

62

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
沙发
发表于 2020-12-9 19:55:24 | 只看该作者
兄弟,我的已经自己解决了,你现在还需要不?
回复

使用道具 举报

14

主题

264

帖子

1789

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
1789
板凳
 楼主| 发表于 2020-12-17 15:45:16 | 只看该作者
zhongzutao 发表于 2020-12-9 19:55
兄弟,我的已经自己解决了,你现在还需要不?

我还没搞定,期待解决,请问是怎么弄得?
回复

使用道具 举报

44

主题

129

帖子

727

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
727
地板
发表于 2020-12-19 13:08:00 | 只看该作者
定义一个广播接收器接收就好了  基本上PDA都可以设置自己的广播方式
回复

使用道具 举报

11

主题

62

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
5#
发表于 2021-2-18 16:32:37 | 只看该作者
yb1984724 发表于 2020-12-17 15:45
我还没搞定,期待解决,请问是怎么弄得?

还需要的话可以加企鹅,67--60--49--838,备注下原因
回复

使用道具 举报

34

主题

192

帖子

879

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
879
6#
发表于 2022-3-31 15:26:10 | 只看该作者
zhongzutao 发表于 2021-2-18 16:32
还需要的话可以加企鹅,67--60--49--838,备注下原因

QQ加不了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-4-20 21:28 , Processed in 0.087279 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表