zoukankan      html  css  js  c++  java
  • uniapp广播接收

    var main = null;
    var receiver = null;
    //接收广播
    export function recive(success, fail) {
        main = plus.android.runtimeMainActivity(); //获取activity
        //创建自定义广播实例  
        receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
            onReceive: function(context, intent) { //实现onReceiver回调函数  
                plus.android.importClass(intent); //通过intent实例引入intent类,方便以后的‘.’操作  
                var action = intent.getAction()
                if (action == 'com.scanner.broadcast') {
                    console.log('监听扫码触发....')
                    //条码或二维码
                    var data = intent.getExtra("data");
                    if (data) {
                        console.log('zhanglp',data.replace(/\n/,''))
                        console.log('zhanglp',data.replace(/\n/,'').replace(/\t/,''))
                        success({
                            type: 'barcode',
                            data: data.replace(/\n/,'').replace(/\t/,'').trim() //处理结束符和换行符为空
                        })
                    } else {
                        fail('未识别到扫码数据')
                    }
                } else if (action == 'zejie.shanghai.scanner.RFID') {
                    console.log('监听RFID触发....')
                    //RFID码
                    var data = intent.getExtra("data");
                    if (data) {
                        console.log('zhanglp',data.replace(/\n/,''))
                        console.log('zhanglp',data.replace(/\n/,'').replace(/\t/,''))
                        success({
                            type: 'rfid',
                            data: data.replace(/\n/,'').replace(/\t/,'').trim()
                        })
                    } else {
                        fail('未识别到RFID数据')
                    }
                }
            }
        });
        var IntentFilter = plus.android.importClass('android.content.IntentFilter'); //网络
        var Intent = plus.android.importClass('android.content.Intent');
        var filter = new IntentFilter(); //过滤
        filter.addAction(Intent.ACTION_AIRPLANE_MODE_CHANGED); //监听飞行模式 
        // filter.addAction("zeji.shanghai.scanner.RFID"); //监听rfid     
        // filter.addAction("zeji.shanghai.scanner.barcode"); //监听barcode
    
        filter.addAction("zejie.shanghai.scanner.RFID"); //监听rfid
        filter.addAction("com.scanner.broadcast"); //监听bar
    
        var BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter"); //蓝牙
        var BAdapter = new BluetoothAdapter.getDefaultAdapter();
        filter.addAction(BAdapter.ACTION_STATE_CHANGED); //监听蓝牙
        main.registerReceiver(receiver, filter); //注册监听
    }
    //取消监听
    export function unregisterReceiver(){
        main.unregisterReceiver(receiver);
    }
    为了明天能幸福,今天付出再多也不后悔。
  • 相关阅读:
    Self Host 使用 Exceptionless 实时监控程序运行日志服务
    Asp.Net Core 集成 Hangfire 配置使用 Redis 存储
    阿里云负载不支持 WebSocket 协议与 WSS 和 Nginx 配置问题
    使用 Scrapyd 管理部署 Scrapy 的一些问题
    Ubuntu 安装配置最新版 PostgreSQL
    Anaconda 科学计算环境与包的管理
    Linux 部署 ASP.NET Core 的一些问题记录
    关于 IdentityServer 部署到生产环境相关问题踩坑记录
    推荐一个 MYSQL 的命令行的客户端 MYCLI
    可能是 2017 最全的机器学习开源项目列表
  • 原文地址:https://www.cnblogs.com/zlp520/p/15718562.html
Copyright © 2011-2022 走看看