收藏
回答

wx.createBLEConnection在安卓系统很容易断开,在ios就很稳定?机制是什么?

const connectToDevice=(deviceName)=>{ //通过设备名称连接设备

  wx.getBluetoothDevices({  //用于扫描和获取周围蓝牙设备的函数

success:(res) =>{

const device = res.devices.find(d => d.name === deviceName); // 查找设备

if(device){

  wx.createBLEConnection({  //微信小程序中用于建立与蓝牙设备的连接的 API。通过该函数,开发者可以连接到附近的蓝牙设备,

deviceId:device.deviceId,

 

success: () => {

warndata.setDate({deviceId : device.deviceId});

isSelece.value=true;//重连机制打开

isexcle.value = true; //表格开关打开

startGeneratingData();//开始读取数据

deleteBluetooth.value=true;//按钮开关

console.log('已连接到设备:', deviceName);

devicesID.value=device.deviceId;

getDeviceServices(device.deviceId); 

   wx.onBLEConnectionStateChange((res) =>{

  if(!res.connected){

  // 清空数据

    console.log(res);

    isexcle.value = false;

    

if(isSelece.value===true){

setTimeout(() => {

       

        connectToDevice(deviceName)

         }, 200);

}

  }

   });

},

fail: (error) => {

 

console.error("蓝牙连接失败",error);

}

  });   

}

else{

wx.showToast({

   title:'未找到设备 : '+deviceName,

   icon: 'none', // 可选 'success', 'loading', 'none'

   duration: 2000 // 提示持续时间,单位是毫秒

});

console.error("未找到设备",deviceName);

}

 

},

 

fail:(error)=> {

wx.showToast({

   title:'获取设备失败失败',

   icon: 'none', // 可选 'success', 'loading', 'none'

   duration: 2000 // 提示持续时间,单位是毫秒

});

console.error("获取设备失败",error);

}

  });

  

最后一次编辑于  1天前
回答关注问题邀请回答
收藏
登录 后发表内容