android去掉gatt缓存,android – 蓝牙GATT onConnectionState更改不适用于Lollipop

本文档描述了在Android Lollipop设备上遇到的蓝牙GATT连接问题,当尝试重新连接BLE设备时,状态代码始终为257。作者提供了使用旧BLE API时,代码在Lollipop设备上工作的例子,并请求社区的帮助寻找解决方案。最后,作者分享了一些可能的解决策略,包括在连接成功后发现服务,避免连续调用`gatt.connect()`和`gatt.discoverServices()`,以及利用`onCharacteristicRead()`进行连续读取操作。
摘要由CSDN通过智能技术生成

我目前有一种方法可以写入BLE设备发出蜂鸣声.我的蓝牙回拨如下:

public class ReadWriteCharacteristic extends BluetoothGattCallback {

public ReadWriteCharacteristic(Context context, String macAddress, UUID service, UUID characteristic, Object tag, Activity activity) {

mMacAddress = macAddress;

mService = service;

mCharacteristic = characteristic;

mTag = tag;

mContext = context;

this.activity =activity;

final BluetoothManager bluetoothManager =

(BluetoothManager) mContext.getSystemService(Context.BLUETOOTH_SERVICE);

mBluetoothAdapter = bluetoothManager.getAdapter();

}

final private static String TAG = "ReadCharacteristic";

private Object mTag;

private String mMacAddress;

private UUID mService;

private BluetoothManager mBluetoothManager = null;

private BluetoothAdapter mBtAdapter = null;

private BluetoothGatt mBluetoothGatt = null;

private String mBluetoothDeviceAddress ="";

private UUID mCharacteristic;

BluetoothDevice device;

private Activity activity;

private BluetoothAdapter mBluetoothAdapter;

private Context mContext;

ReadWriteCharacteristic rc;

private int retry = 5;

public String getMacAddress() {

return mMacAddress;

}

public UUID getService() {

return mService;

}

public UUID getCharacteristic() {

return mCharacteristic;

}

public byte[] getValue() { return mValue; }

public void one rror()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值