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); }
uniapp广播接收
为了明天能幸福,今天付出再多也不后悔。