| | |
| | | import Vue from 'vue'; |
| | | let main, Context, BManager, BluetoothAdapter, BAdapter, BluetoothDevice, IntentFilter; |
| | | import {SET_INFODATA,SET_CONNECTBLEDATA} from '@/store/actionsType.js'; |
| | | import {GET_CONNECTBLEDATA} from '@/store/gettersType.js'; |
| | | /** |
| | | * 蓝牙初始化和注册 |
| | | */ |
| | | Vue.prototype.$init_bluetooth = function(){ |
| | | console.log('蓝牙初始化'); |
| | | let _this = this; |
| | | //获取android应用Activity活动对象 |
| | | main = plus.android.runtimeMainActivity(); |
| | | //引入Context类 |
| | | Context = plus.android.importClass("android.content.Context"); |
| | | // Context.BLUETOOTH_SERVICE 获取Context类的静态常量(蓝牙服务,获取BluetoothManager,以使用蓝牙) |
| | | BManager = main.getSystemService(Context.BLUETOOTH_SERVICE); |
| | | //获取蓝牙适配器对象类 |
| | | BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter"); |
| | | //蓝牙本地适配器(对象) |
| | | BAdapter = BluetoothAdapter.getDefaultAdapter(); |
| | | //引入蓝牙设备类(创建与相应设备的连接或查询有关该设备的信息,例如名称,地址,类和绑定状态) |
| | | BluetoothDevice = plus.android.importClass('android.bluetooth.BluetoothDevice'); |
| | | //引入过滤器类 (IntentFilter可以匹配Intent中的动作,类别,数据) |
| | | IntentFilter = plus.android.importClass('android.content.IntentFilter'); |
| | | } |
| | | /** |
| | | * 检查蓝牙是否开启 |
| | | * 1.用户没有开启,提示开启 |
| | | * 2.用户蓝牙已经开启 |
| | | */ |
| | | Vue.prototype.$check_bluetooth_open = function(){ |
| | | let _this = this; |
| | | /** |
| | | * BAdapter.isEnabled(); 判断蓝牙是否打开 |
| | | * BAdapter.enable(); //开启蓝牙 |
| | | * BAdapter.disable(); //关闭蓝牙 |
| | | */ |
| | | return new Promise((resolve,reject)=>{ |
| | | if (!BAdapter.isEnabled()) { |
| | | //蓝牙未打开 |
| | | uni.showModal({ |
| | | title:"提示", |
| | | content:"蓝牙未开启,是否开启蓝牙~", |
| | | success:function(res){ |
| | | if (res.confirm) { |
| | | //开启蓝牙 |
| | | BAdapter.enable(); |
| | | resolve(true); |
| | | }else if(res.cancel){ |
| | | resolve(false); |
| | | } |
| | | } |
| | | }) |
| | | // 后续提示框提示或用户手动打开 |
| | | } else { |
| | | //蓝牙已打开 |
| | | resolve(true); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 检测手机是否已经连接蓝牙设备 |
| | | */ |
| | | Vue.prototype.$check_bluetooth_connect = function(){ |
| | | let _this = this; |
| | | // 先清空vuex原来已有的数据 |
| | | _this.$store.dispatch(SET_CONNECTBLEDATA,[]); |
| | | return new Promise((resolve,reject)=>{ |
| | | // 获取android应用已配对的蓝牙设备类 |
| | | let lists = BAdapter.getBondedDevices(); |
| | | // 引入类 |
| | | plus.android.importClass(lists); |
| | | // 获取已配对蓝牙设备的个数 |
| | | let len = lists.size(); |
| | | // iterator() 把一个容器的所有对象,做成一个线性表(List),而iterator本身是一个指针 |
| | | let iterator = lists.iterator(); |
| | | // console.log(iterator.hasNext()); |
| | | plus.android.importClass(iterator); |
| | | /** |
| | | * iterator.hasNext() true如果迭代具有更多元素 |
| | | * iterator.next() 放回迭代中的下一个元素 |
| | | * iterator.remove() 从基础集合中移除此迭代器返回的最后一个元素(可选操作) |
| | | */ |
| | | while (iterator.hasNext()) { |
| | | let d = iterator.next(); |
| | | plus.android.importClass(d); |
| | | let matchList = { |
| | | name: d.getName(), |
| | | mac: d.getAddress() |
| | | } |
| | | console.log(matchList); |
| | | _this.$store.dispatch(SET_CONNECTBLEDATA,matchList); |
| | | resolve({code:true,msg:matchList}); |
| | | } |
| | | |
| | | //获取一个已连接的设备 |
| | | // plus.android.importClass(BManager); //引入相关的method函数 |
| | | // //蓝牙适配器 |
| | | // let BAdapter = BManager.getAdapter(); |
| | | // // console.log(BAdapter); |
| | | // plus.android.importClass(BAdapter); //引入相关的method函数,这样之后才会有isEna; |
| | | // let lists = BAdapter.getBondedDevices(); |
| | | // // console.log(lists); |
| | | // plus.android.importClass(lists); |
| | | // let iterator = lists.iterator(); |
| | | // // console.log(iterator); |
| | | // plus.android.importClass(iterator); |
| | | // // console.log(iterator.hasNext()); |
| | | // if(iterator.hasNext()){ //判断下一个元素的有无 |
| | | // let d = iterator.next(); |
| | | // plus.android.importClass(d); |
| | | // //已连接蓝牙的数据 |
| | | // // console.log(d.getAddress()); |
| | | // console.log(d.getAddress() + "----" + d.getName()); |
| | | // // _this.match_list = { |
| | | // // name: d.getName(), |
| | | // // mac: d.getAddress() |
| | | // // }; |
| | | // let matchList = { |
| | | // name: d.getName(), |
| | | // mac: d.getAddress() |
| | | // } |
| | | // _this.$store.dispatch(SET_CONNECTBLEDATA,matchList); |
| | | // // console.log(_this.$store.getters.GET_CONNECTBLEDATA) |
| | | // /** |
| | | // * 连接打印机 |
| | | // */ |
| | | // resolve({code:true,msg:matchList}); |
| | | // }else{ |
| | | // resolve({code:false}) |
| | | // } |
| | | }) |
| | | } |
| | | /** |
| | | * 打开蓝牙 |
| | | */ |
| | | Vue.prototype.$open_bluetooth = function(){ |
| | | let _this = this; |
| | | return new Promise((resolve,reject)=>{ |
| | | if (!BAdapter.isEnabled()) { |
| | | BAdapter.enable(); //启动蓝牙 |
| | | uni.showToast({ |
| | | icon: "none", |
| | | title: '蓝牙已打开', |
| | | duration: 3000 |
| | | }) |
| | | resolve(true); |
| | | } |
| | | }) |
| | | } |
| | | /** |
| | | * 关闭蓝牙 |
| | | */ |
| | | Vue.prototype.$close_bluetooth = function (){ |
| | | let _this = this; |
| | | if (BAdapter.isEnabled()) { |
| | | BAdapter.disable(); //关闭蓝牙 |
| | | uni.showToast({ |
| | | icon: "none", |
| | | title: '蓝牙已关闭', |
| | | duration: 2000 |
| | | }) |
| | | } else { |
| | | uni.showToast({ |
| | | icon: "none", |
| | | title: '蓝牙已关闭', |
| | | duration: 2000 |
| | | }) |
| | | } |
| | | } |
| | | /** |
| | | * 搜索蓝牙设备 |
| | | */ |
| | | Vue.prototype.$search_bluetooth = function(){ |
| | | let _this = this; |
| | | let obj = {}; |
| | | return new Promise((resolve,reject)=>{ |
| | | // console.log(BAdapter.isEnabled()); |
| | | // console.log(JSON.stringify(_this.$store.getters)); |
| | | // BAdapter.isconnect("DC:1D:30:7C:74:96"); |
| | | //判断蓝牙是否开启 |
| | | if(!BAdapter.isEnabled()) { |
| | | uni.showModal({ |
| | | title:"提示", |
| | | content:"蓝牙未开启,是否开启蓝牙~", |
| | | success:function(res){ |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | obj.code = false; //用户点击确定,开启蓝牙 |
| | | obj.msg = "蓝牙未开启"; |
| | | resolve(obj); |
| | | // _this.$open_bluetooth(); |
| | | }else if(res.cancel){ |
| | | // resolve() |
| | | obj.code = null; |
| | | resolve(obj); |
| | | } |
| | | } |
| | | }) |
| | | }else{ |
| | | obj.code = true; |
| | | obj.msg = "开启搜索蓝牙"; |
| | | resolve(obj); |
| | | } |
| | | }) |
| | | } |
| | | /** |
| | | * 监听蓝牙设备信息 |
| | | */ |
| | | Vue.prototype.$search_pipei=function(){ |
| | | let timer = null; |
| | | let _this = this; |
| | | //提示蓝牙开启权限访问 |
| | | uni.openBluetoothAdapter({ |
| | | success(res) { |
| | | if (res.errMsg === "openBluetoothAdapter:ok") { |
| | | //这里是开启蓝牙搜寻 |
| | | uni.startBluetoothDevicesDiscovery({ |
| | | success: (res) => { |
| | | console.log('startBluetoothDevicesDiscovery success', res) |
| | | uni.showLoading({ |
| | | title: "蓝牙搜索中...", |
| | | mask: true |
| | | }) |
| | | //每次搜索都把之前的清空 |
| | | // _this.bArray = []; |
| | | // _this.no_match_list = []; |
| | | _this.$store.dispatch(SET_INFODATA,[]); |
| | | let bArray = []; //用于蓝牙去重 |
| | | let filter = new IntentFilter(); //实例化过滤器类 |
| | | let BDevice = new BluetoothDevice(); //实例化蓝牙设备类 |
| | | // let connect = _this.$store.state.Bluetooth.connectBLEData; |
| | | // console.log("已连接:" + JSON.stringify(connect)); |
| | | BAdapter.startDiscovery(); //开启搜索 |
| | | let receiver = plus.android.implements('io.dcloud.android.content.BroadcastReceiver', { |
| | | onReceive: function(context, intent) { //回调 |
| | | try { |
| | | plus.android.importClass(intent); |
| | | if (intent.getAction() == "android.bluetooth.adapter.action.DISCOVERY_FINISHED") { |
| | | main.unregisterReceiver(receiver); //取消监听 |
| | | } else { |
| | | // Intent中获取设备对象 |
| | | BDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); |
| | | console.log(BDevice.getName() + "---" + BDevice.getAddress()); |
| | | // 判断如果蓝牙没有名称则不显示 |
| | | if (BDevice.getName() !== null) { |
| | | //蓝牙去重 |
| | | let address = BDevice.getAddress(); |
| | | //已经连接的蓝牙 |
| | | if(bArray.indexOf(address) == -1){ |
| | | bArray.push(address); |
| | | _this.$store.dispatch(SET_INFODATA,{ |
| | | name: BDevice.getName(), |
| | | mac: BDevice.getAddress() |
| | | }) |
| | | } |
| | | } |
| | | //如果intent为空则取消蓝牙监听 |
| | | if (BDevice == null) { |
| | | main.unregisterReceiver(receiver); //取消监听 |
| | | uni.hideLoading() |
| | | //获取已匹配的蓝牙 |
| | | // that.bluetooth_list() |
| | | return; |
| | | } |
| | | if(timer != null){ |
| | | clearTimeout(timer); |
| | | } |
| | | timer = setTimeout(()=>{ |
| | | main.unregisterReceiver(receiver); //取消监听 |
| | | uni.hideLoading(); |
| | | },3000); |
| | | } |
| | | } catch (e) { |
| | | uni.showToast({ |
| | | icon: "none", |
| | | title: "蓝牙搜寻错误~", |
| | | duration: 3000, |
| | | mask: true |
| | | }) |
| | | } |
| | | } |
| | | }); |
| | | |
| | | filter.addAction(BDevice.ACTION_FOUND); //可发现 |
| | | filter.addAction(BAdapter.ACTION_DISCOVERY_STARTED); |
| | | filter.addAction(BAdapter.ACTION_DISCOVERY_FINISHED); //搜索结果 |
| | | filter.addAction(BAdapter.ACTION_STATE_CHANGED); |
| | | main.registerReceiver(receiver, filter); //注册监听 |
| | | }, |
| | | fail: (err) => { |
| | | uni.showToast({ |
| | | icon: "none", |
| | | title: "蓝牙搜寻失败~", |
| | | duration: 3000, |
| | | mask: true |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | fail(err) { |
| | | uni.showToast({ |
| | | icon: "none", |
| | | title: "蓝牙搜索失败" |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | import Vue from 'vue';
|
| | | let main, Context, BManager, BluetoothAdapter, BAdapter, BluetoothDevice, IntentFilter;
|
| | | import {SET_INFODATA,SET_CONNECTBLEDATA} from '@/store/actionsType.js';
|
| | | import {GET_CONNECTBLEDATA} from '@/store/gettersType.js';
|
| | | /**
|
| | | * 蓝牙初始化和注册
|
| | | */
|
| | | Vue.prototype.$init_bluetooth = function(){
|
| | | console.log('蓝牙初始化');
|
| | | let _this = this;
|
| | | //获取android应用Activity活动对象
|
| | | main = plus.android.runtimeMainActivity();
|
| | | //引入Context类
|
| | | Context = plus.android.importClass("android.content.Context");
|
| | | // Context.BLUETOOTH_SERVICE 获取Context类的静态常量(蓝牙服务,获取BluetoothManager,以使用蓝牙)
|
| | | BManager = main.getSystemService(Context.BLUETOOTH_SERVICE);
|
| | | //获取蓝牙适配器对象类
|
| | | BluetoothAdapter = plus.android.importClass("android.bluetooth.BluetoothAdapter");
|
| | | //蓝牙本地适配器(对象)
|
| | | BAdapter = BluetoothAdapter.getDefaultAdapter();
|
| | | //引入蓝牙设备类(创建与相应设备的连接或查询有关该设备的信息,例如名称,地址,类和绑定状态)
|
| | | BluetoothDevice = plus.android.importClass('android.bluetooth.BluetoothDevice');
|
| | | //引入过滤器类 (IntentFilter可以匹配Intent中的动作,类别,数据)
|
| | | IntentFilter = plus.android.importClass('android.content.IntentFilter');
|
| | | }
|
| | | /**
|
| | | * 检查蓝牙是否开启
|
| | | * 1.用户没有开启,提示开启
|
| | | * 2.用户蓝牙已经开启
|
| | | */
|
| | | Vue.prototype.$check_bluetooth_open = function(){
|
| | | let _this = this;
|
| | | /**
|
| | | * BAdapter.isEnabled(); 判断蓝牙是否打开
|
| | | * BAdapter.enable(); //开启蓝牙
|
| | | * BAdapter.disable(); //关闭蓝牙
|
| | | */
|
| | | return new Promise((resolve,reject)=>{
|
| | | if (!BAdapter.isEnabled()) {
|
| | | //蓝牙未打开
|
| | | uni.showModal({
|
| | | title:"提示",
|
| | | content:"蓝牙未开启,是否开启蓝牙~",
|
| | | success:function(res){
|
| | | if (res.confirm) {
|
| | | //开启蓝牙
|
| | | BAdapter.enable();
|
| | | resolve(true);
|
| | | }else if(res.cancel){
|
| | | resolve(false);
|
| | | }
|
| | | }
|
| | | })
|
| | | // 后续提示框提示或用户手动打开
|
| | | } else {
|
| | | //蓝牙已打开
|
| | | resolve(true);
|
| | | }
|
| | | })
|
| | | }
|
| | |
|
| | | /**
|
| | | * 检测手机是否已经连接蓝牙设备
|
| | | */
|
| | | Vue.prototype.$check_bluetooth_connect = function(){
|
| | | let _this = this;
|
| | | // 先清空vuex原来已有的数据
|
| | | _this.$store.dispatch(SET_CONNECTBLEDATA,[]);
|
| | | return new Promise((resolve,reject)=>{
|
| | | // 获取android应用已配对的蓝牙设备类
|
| | | let lists = BAdapter.getBondedDevices();
|
| | | // 引入类
|
| | | plus.android.importClass(lists);
|
| | | // 获取已配对蓝牙设备的个数
|
| | | let len = lists.size();
|
| | | // iterator() 把一个容器的所有对象,做成一个线性表(List),而iterator本身是一个指针
|
| | | let iterator = lists.iterator(); |
| | | // console.log(iterator.hasNext());
|
| | | plus.android.importClass(iterator);
|
| | | /**
|
| | | * iterator.hasNext() true如果迭代具有更多元素
|
| | | * iterator.next() 放回迭代中的下一个元素
|
| | | * iterator.remove() 从基础集合中移除此迭代器返回的最后一个元素(可选操作)
|
| | | */
|
| | | while (iterator.hasNext()) {
|
| | | let d = iterator.next(); |
| | | plus.android.importClass(d);
|
| | | let matchList = {
|
| | | name: d.getName(),
|
| | | mac: d.getAddress()
|
| | | }
|
| | | console.log(matchList);
|
| | | _this.$store.dispatch(SET_CONNECTBLEDATA,matchList);
|
| | | resolve({code:true,msg:matchList});
|
| | | }
|
| | | |
| | | //获取一个已连接的设备
|
| | | // plus.android.importClass(BManager); //引入相关的method函数
|
| | | // //蓝牙适配器
|
| | | // let BAdapter = BManager.getAdapter();
|
| | | // // console.log(BAdapter);
|
| | | // plus.android.importClass(BAdapter); //引入相关的method函数,这样之后才会有isEna;
|
| | | // let lists = BAdapter.getBondedDevices();
|
| | | // // console.log(lists);
|
| | | // plus.android.importClass(lists);
|
| | | // let iterator = lists.iterator();
|
| | | // // console.log(iterator);
|
| | | // plus.android.importClass(iterator);
|
| | | // // console.log(iterator.hasNext());
|
| | | // if(iterator.hasNext()){ //判断下一个元素的有无
|
| | | // let d = iterator.next();
|
| | | // plus.android.importClass(d);
|
| | | // //已连接蓝牙的数据
|
| | | // // console.log(d.getAddress());
|
| | | // console.log(d.getAddress() + "----" + d.getName());
|
| | | // // _this.match_list = {
|
| | | // // name: d.getName(),
|
| | | // // mac: d.getAddress()
|
| | | // // };
|
| | | // let matchList = {
|
| | | // name: d.getName(),
|
| | | // mac: d.getAddress()
|
| | | // }
|
| | | // _this.$store.dispatch(SET_CONNECTBLEDATA,matchList);
|
| | | // // console.log(_this.$store.getters.GET_CONNECTBLEDATA)
|
| | | // /** |
| | | // * 连接打印机
|
| | | // */
|
| | | // resolve({code:true,msg:matchList});
|
| | | // }else{
|
| | | // resolve({code:false})
|
| | | // }
|
| | | })
|
| | | }
|
| | | /**
|
| | | * 打开蓝牙
|
| | | */
|
| | | Vue.prototype.$open_bluetooth = function(){
|
| | | let _this = this;
|
| | | return new Promise((resolve,reject)=>{
|
| | | if (!BAdapter.isEnabled()) {
|
| | | BAdapter.enable(); //启动蓝牙
|
| | | uni.showToast({
|
| | | icon: "none",
|
| | | title: '蓝牙已打开',
|
| | | duration: 3000
|
| | | })
|
| | | resolve(true);
|
| | | }
|
| | | })
|
| | | }
|
| | | /**
|
| | | * 关闭蓝牙 |
| | | */
|
| | | Vue.prototype.$close_bluetooth = function (){
|
| | | let _this = this;
|
| | | if (BAdapter.isEnabled()) {
|
| | | BAdapter.disable(); //关闭蓝牙 |
| | | uni.showToast({
|
| | | icon: "none",
|
| | | title: '蓝牙已关闭',
|
| | | duration: 2000
|
| | | })
|
| | | } else {
|
| | | uni.showToast({
|
| | | icon: "none",
|
| | | title: '蓝牙已关闭',
|
| | | duration: 2000
|
| | | })
|
| | | }
|
| | | }
|
| | | /**
|
| | | * 搜索蓝牙设备
|
| | | */
|
| | | Vue.prototype.$search_bluetooth = function(){
|
| | | let _this = this;
|
| | | let obj = {};
|
| | | return new Promise((resolve,reject)=>{
|
| | | // console.log(BAdapter.isEnabled());
|
| | | // console.log(JSON.stringify(_this.$store.getters));
|
| | | // BAdapter.isconnect("DC:1D:30:7C:74:96");
|
| | | //判断蓝牙是否开启
|
| | | if(!BAdapter.isEnabled()) {
|
| | | uni.showModal({
|
| | | title:"提示",
|
| | | content:"蓝牙未开启,是否开启蓝牙~",
|
| | | success:function(res){
|
| | | if (res.confirm) {
|
| | | console.log('用户点击确定');
|
| | | obj.code = false; //用户点击确定,开启蓝牙
|
| | | obj.msg = "蓝牙未开启";
|
| | | resolve(obj);
|
| | | // _this.$open_bluetooth();
|
| | | }else if(res.cancel){
|
| | | // resolve()
|
| | | obj.code = null;
|
| | | resolve(obj);
|
| | | }
|
| | | }
|
| | | })
|
| | | }else{
|
| | | obj.code = true;
|
| | | obj.msg = "开启搜索蓝牙";
|
| | | resolve(obj);
|
| | | }
|
| | | })
|
| | | }
|
| | | /**
|
| | | * 监听蓝牙设备信息
|
| | | */
|
| | | Vue.prototype.$search_pipei=function(){
|
| | | let timer = null;
|
| | | let _this = this;
|
| | | //提示蓝牙开启权限访问
|
| | | uni.openBluetoothAdapter({
|
| | | success(res) {
|
| | | if (res.errMsg === "openBluetoothAdapter:ok") {
|
| | | //这里是开启蓝牙搜寻
|
| | | uni.startBluetoothDevicesDiscovery({
|
| | | success: (res) => {
|
| | | console.log('startBluetoothDevicesDiscovery success', res)
|
| | | uni.showLoading({
|
| | | title: "蓝牙搜索中...",
|
| | | mask: true
|
| | | })
|
| | | //每次搜索都把之前的清空
|
| | | // _this.bArray = [];
|
| | | // _this.no_match_list = [];
|
| | | _this.$store.dispatch(SET_INFODATA,[]);
|
| | | let bArray = []; //用于蓝牙去重
|
| | | let filter = new IntentFilter(); //实例化过滤器类
|
| | | let BDevice = new BluetoothDevice(); //实例化蓝牙设备类
|
| | | // let connect = _this.$store.state.Bluetooth.connectBLEData;
|
| | | // console.log("已连接:" + JSON.stringify(connect));
|
| | | BAdapter.startDiscovery(); //开启搜索 |
| | | let receiver = plus.android.implements('io.dcloud.android.content.BroadcastReceiver', {
|
| | | onReceive: function(context, intent) { //回调 |
| | | try {
|
| | | plus.android.importClass(intent);
|
| | | if (intent.getAction() == "android.bluetooth.adapter.action.DISCOVERY_FINISHED") {
|
| | | main.unregisterReceiver(receiver); //取消监听 |
| | | } else {
|
| | | // Intent中获取设备对象
|
| | | BDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
|
| | | console.log(BDevice.getName() + "---" + BDevice.getAddress());
|
| | | // 判断如果蓝牙没有名称则不显示
|
| | | if (BDevice.getName() !== null) {
|
| | | //蓝牙去重
|
| | | let address = BDevice.getAddress();
|
| | | //已经连接的蓝牙
|
| | | if(bArray.indexOf(address) == -1){
|
| | | bArray.push(address);
|
| | | _this.$store.dispatch(SET_INFODATA,{
|
| | | name: BDevice.getName(),
|
| | | mac: BDevice.getAddress()
|
| | | })
|
| | | }
|
| | | }
|
| | | //如果intent为空则取消蓝牙监听
|
| | | if (BDevice == null) {
|
| | | main.unregisterReceiver(receiver); //取消监听 |
| | | uni.hideLoading()
|
| | | //获取已匹配的蓝牙 |
| | | // that.bluetooth_list() |
| | | return;
|
| | | }
|
| | | if(timer != null){
|
| | | clearTimeout(timer);
|
| | | }
|
| | | timer = setTimeout(()=>{
|
| | | main.unregisterReceiver(receiver); //取消监听
|
| | | uni.hideLoading();
|
| | | },3000);
|
| | | }
|
| | | } catch (e) {
|
| | | uni.showToast({
|
| | | icon: "none",
|
| | | title: "蓝牙搜寻错误~",
|
| | | duration: 3000,
|
| | | mask: true
|
| | | })
|
| | | }
|
| | | }
|
| | | });
|
| | | |
| | | filter.addAction(BDevice.ACTION_FOUND); //可发现
|
| | | filter.addAction(BAdapter.ACTION_DISCOVERY_STARTED); |
| | | filter.addAction(BAdapter.ACTION_DISCOVERY_FINISHED); //搜索结果
|
| | | filter.addAction(BAdapter.ACTION_STATE_CHANGED);
|
| | | main.registerReceiver(receiver, filter); //注册监听
|
| | | },
|
| | | fail: (err) => {
|
| | | uni.showToast({
|
| | | icon: "none",
|
| | | title: "蓝牙搜寻失败~",
|
| | | duration: 3000,
|
| | | mask: true
|
| | | })
|
| | | }
|
| | | })
|
| | | }
|
| | | },
|
| | | fail(err) {
|
| | | uni.showToast({
|
| | | icon: "none",
|
| | | title: "蓝牙搜索失败"
|
| | | })
|
| | | }
|
| | | })
|
| | | }
|