android蓝牙无法输入密码,由于加密问题,Android蓝牙文件无法写入描述符

在尝试使用蓝牙低功耗(BLE)通信时,发现在特定设备如Motorola Moto G3和某些Samsung S5上出现问题,表现为写入描述符后无法调用onDescriptorWrite(...)回调,可能与加密失败有关。已排除常见问题,如蓝牙事件处理在主线程上。日志显示'Encryption failed (1)',寻求解决方案。
摘要由CSDN通过智能技术生成

我正在尝试确定使用蓝牙低功耗与支持BLE的设备进行通信的应用程序出了什么问题。令人抓狂的部分是,问题只出现在某些设备上,例如来自Europa的Motorola Moto G3和来自中国的Samsung S5,而它与Europa的三星S5,Europa的HTC One M7和中国的MI W3都能正常工作。

当它不起作用时,一切都在成功写入描述符后停止,因为从不调用相应的onDescritorWrite(...)回调。据推测,它与未能设置加密有关(下面的完整日志):

W/bt-btif (18797): btif_gatt_set_encryption_cb() - Encryption failed (1)

我已经通过了通常的事情,比如确保蓝牙事件被发布到主线程上的处理程序,现在我需要新的想法来尝试解决这个问题...

我的日志捕获命令:

adb logcat | grep 'BLEService\|BluetoothGatt\|BtGatt\|bt\-'

日志输出:

D/BtGatt.GattService(18797): registerClient() - UUID=9a90904a-84e8-4f30-9b10-de78ac49f236

D/BtGatt.GattService(18797): onClientRegistered() - UUID=9a90904a-84e8-4f30-9b10-de78ac49f236, clientIf=5

D/BtGatt.GattService(18797): start scan with filters

D/BtGatt.ScanManager(18797): handling starting scan

D/BtGatt.GattService(1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值