一、场景:

目前正在做一个小程序连接低功耗蓝牙板的功能。主要是用于硬件操作类。

二、描述:

1、使用完后,发现Android版本小程序在wx.createBLEConnection(OBJECT)下api不太稳定。连接时长有时候快,有时候慢。快的时候能达到正常的理想速度(1-1.5秒),慢的话能达到5-10秒。


尝试使用Android原生app,使用

BluetoothGatt mBluetoothGatt = mDevice.connectGatt(this.mContext, true, this);

进行连接,发现并没有达到小程序那么大的概率出现连接慢的问题。小程序连接蓝牙慢的概率会在10%左右,而使用原生app连接的话,最多2%左右,甚至更低。

不过原生app在尝试断开蓝牙后,有进行释放BluetoothGatt对象,如下

public void disconnect(){

        mBluetoothGatt.disconnect();

        mBluetoothGatt.discoverServices();

        mBluetoothGatt.close();

        mBluetoothGatt = null;

}

多次尝试直接不释放BluetoothGatt对象的前提下,只是单纯的

mBluetoothGatt.disconnect();

下次连接直接mBluetoothGatt.connect();

同样会出现和小程序一样的大概率连接慢,甚至连不上的问题。

PS:蓝牙板的广播频率已经调成50毫秒一下了



2、第二个问题:连接蓝牙了,进行写动作,有延时200毫秒左右开始写特征值数据,经常会10008错误,不让写。而且调用wx.closeBLEConnection(OBJECT)会出现无法断开的现象,实际蓝牙还处在和手机连接中。此时无论如何操作都无法断开蓝牙,只能选择结束微信进程。


以上问题在IOS上未出现。


三、建议

希望小程序开发团队能抽空看下低功耗蓝牙的这个问题,我相信很大部分开发者在Android上都基本头大无助了,转而放弃小程序使用原生app去了,这是很遗憾的一件事。





展开全部
收起
10回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Sally1

    15人对此回答表示赞同

    @陈斌

    展开
    15
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • Grady陈三岁

    12人对此回答表示赞同

    安卓的死也连接不上打印机,ios的却可以。感觉被市面上的demo给忽悠了,解决了好些日子,只差放弃了

    展开
    12
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 本人不在

    10人对此回答表示赞同

    @陈斌

    展开
    10
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 杏仁糖

    9人对此回答表示赞同

    @包磊Baolei

    展开
    9
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • Yogi

    8人对此回答表示赞同

    @包磊Baolei

    展开
    8
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 一百零一夜

    8人对此回答表示赞同

    @包磊Baolei

    展开
    8
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 六神无主

    7人对此回答表示赞同

    写了大半年的蓝牙,小程序问题最大的就是出在这个两个方法上:

    展开
    7
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 爱不复生

    6人对此回答表示赞同

    @陈斌

    展开
    6
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 一言堂

    5人对此回答表示赞同

    @陈斌

    展开
    5
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 相亲相爱

    2人对此回答表示赞同

    请问主,我这边测试小米android的手机调writeBLECharacteristicValue没有一次成功的,但在IOS上都是成功的。

    展开
    2
    0回复
    发布于 5年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部