android ble 写失败,Android低功耗蓝牙BLE写入数据很大几率会失败 求解

在Android低功耗蓝牙BLE开发中,遇到写入characteristic数据时成功率不稳定的问题,首次写入可能失败,需重试才能成功。由于`onCharacteristicWrite`回调在失败时不触发,导致无法准确判断写入状态。代码示例展示了`BluetoothGattCallback`的实现,以及写入数据的方法。目前写入方法的返回值总是为true,无法区分成功与否。
摘要由CSDN通过智能技术生成

1、问题描述

最近进行Android ble的开发,遇到最大的问题就是在往characteristic中写入数据的时候,会有一个成功率抖动的问题,常会出现第一次写入失败,必须再写一次才成功的情况。

每次往characteristic中写入数据的时候,应该要回调onCharacteristicWrite这个方法的,如果失败了,根本就不回调这个方法,导致我甚至无出判断成功还是失败,无法再逻辑代码中去重写,只能在交互界面重复操作。

2、具体代码

下面我贴出我大致代码。

2.1BluetoothGattCallback

private void connectDevice() {

mDevice.connectGatt(this, false, new BluetoothGattCallback() {

@Override

public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {

if (newState == BluetoothProfile.STATE_CONNECTED) {

Log.d("MainActivity", "连接成功");

mGatt = gatt;

mGatt.connect();

gatt.discoverServices();

}

}

@Override

public void onServicesDiscovered(final BluetoothGatt gatt, int st

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值