gpt4 book ai didi

android - bluetoothgatt onCharacteristicWrite 使用 ble 设备返回状态代码 6

转载 作者:行者123 更新时间:2023-11-30 00:26:27 29 4
gpt4 key购买 nike

我正在尝试写入 BLE 设备的特性。根据文档,这个特性是可以读和写的,有不同的用法。我已经成功地读取了它,但是我在写入时遇到了一些问题。每次我尝试写入它时,onWriteCharacterstic 函数都会收到状态代码 6,这应该是 GATT_REQUEST_NOT_SUPPORTED。

我不太确定是什么原因造成的。我向我的应用程序添加了所有必要的蓝牙权限,并且文档说明它能够写入。

我的代码看起来有点像这样(简化):

@Override
public void onServicesDiscovered( BluetoothGatt gatt, int status ){
if( status == BluetoothGatt.GATT_SUCCESS ){
mGatt = gatt;
mService= gatt.getService(UUID_SERVICE);
mChar = mService.getCharacteristic(UUID_CHAR);
byte[] value = {...}
mChar.setValue(value);
boolean retval = mGatt.writeCharacteristic(mChar); //retval is true
}
}

@Override
public void onCharacteristicWrite (BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status)
{
... //status here is 6
}

我还对特性的函数 getProperties() 和 getPermissions() 进行了一些检查。 getPermissions() 函数返回 0,我无法与 android 文档中的任何内容相匹配,而 getProperties() 返回 10,这也很奇怪。对于属性,这意味着它支持通知,而事实并非如此。

最佳答案

看来是手机的问题。将蓝牙关闭几个小时后,它可以正常工作。

关于android - bluetoothgatt onCharacteristicWrite 使用 ble 设备返回状态代码 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45280830/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com