收藏
回答

安卓蓝牙setBLEMTU设置成功后,还是只能传输20字节的数据一超过20就报错?

ios无法设置mtu,所以超过20字节报错,

 wx.setBLEMTU({

        deviceId: deviceId2,

        mtu: 153,

        success(res3) {

          console.log("设置mtu成功", res3);

         wx.getBLEMTU({

            deviceId: deviceId2,

            success: (res4) => {

              console.log(

                "安卓获取设备的MTU值为",

                res4.mtu

              );

            },

            fail: (error) => {

              console.error(

                "安卓获取设备的MTU值失败",

                error

              );

            }

          });

        },

        fail(error) {

          console.log("设置mtu失败", error);

         wx.getBLEMTU({

            deviceId: deviceId2,

            success: (res3) => {

              console.log(

                "苹果获取设备的MTU值为",

                res3.mtu

              );

            },

            fail: (error2) => {

              console.error(

                "苹果获取设备的MTU值失败",

                error2

              );

            }

          });

        }

      });

此函数写在createBLEConnectiond成功之后

回答关注问题邀请回答
收藏

3 个回答

  • 社区技术运营专员--阳光
    社区技术运营专员--阳光
    2023-05-29

     setBLEMTU的callback里会带mtu的值,开发者可以以这个为准,如果基于这个写入还有问题辛苦上传下日志 在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,提供微信号,时间点

    2023-05-29
    有用
    回复
  • A黑色低调
    A黑色低调
    2023-05-25

    蓝牙这里一直是痛点 之前我是用小程序 后来无奈没办法只能开发APP,使用小程序蓝牙有些机型会导致不兼容造成无法联通得情况太多了

    2023-05-25
    有用
    回复 1
  • 汪烨青的家长
    汪烨青的家长
    2023-05-25

    之前是用20年的方法 每包分20字节 但是数据包有80kb 导致 升级完成 大概7分钟和5分钟(ios可以每次大包为200字节,安卓只能150字节,分成20字节每小包),后来了解到有可以调节mtu所以使用,但是设置成功之后 也无法单小包超过20字节

    2023-05-25
    有用
    回复
登录 后发表内容