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);
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM