当前位置: 首页 > 知识库问答 >
问题:

在Android上,当设备不处于配对模式时,通过蓝牙LE连接失败,但在Linux上成功

逄嘉熙
2023-03-14

问题描述我有一个BLE设备。我想和它交流。我的Android应用程序代码:

device.connectGatt(context, false, ...)
    null

Android/配对

  • 发送:LE创建连接
  • RCVD:命令状态(LE Create Connection)
  • RCVD:LE Meta(LE增强连接完成)
  • 发送:LE读取对等方可解析地址
  • RCVD:命令完成(LE读取对等点可解析地址)
  • 发送:LE阅读远程功能
  • RCVD:命令状态(LE Read Remote特性)
  • RCVD:LE Meta(LE Read Remote功能完成)
  • 发送:读取远程版本信息
  • RCVD:命令状态(读取远程版本信息)
  • RCVD:完成读取远程版本信息
  • 发送:开始加密

Android/非配对

    null

Android/不配对:支持的LE功能:0x0000000000000000EF、LE加密、连接参数请求过程、扩展拒绝指示、从机启动功能交换、数据包长度扩展、LL隐私、扩展扫描器过滤策略

有人知道我怎么解决这个问题吗?

共有1个答案

夏宪
2023-03-14

“Connection failed to be Constabled”表示在主服务器发送CONNECT_IND以响应ADV_IND之后,从服务器似乎不响应主服务器发送的任何数据包。这可能是由于一些硬件或固件故障、信号质量差或外围设备使用白色列表忽略来自不需要的设备的连接造成的。发生此错误没有其他原因。

如果外设正在使用白色列表,请确保它正确处理可解析地址。

 类似资料:
  • 我能够配对蓝牙键盘,但无法连接,使其成为输入设备。我查阅了开发商网站上提供的文件-http://developer.android.com/guide/topics/connectivity/bluetooth.html#Profiles 它说Android Bluetooth API提供了以下蓝牙配置文件的实现,但您可以实现接口BluetoothProfile来编写自己的类来支持特定的蓝牙配置文

  • 在调用连接时,我们得到一个错误: 堆栈跟踪以:

  • 我如何获得Android所有已连接蓝牙设备的列表,而不考虑配置文件? 或者,我看到您可以通过BluetoothManager获取特定配置文件的所有连接设备。获取连接的设备。 我想我可以通过ACTION_ACL_CONNECTED/ACTION_ACL_DISCONNECTED监听连接/断开来查看哪些设备连接...似乎容易出错。 但我想知道是否有更简单的方法来获取所有已连接蓝牙设备的列表。

  • 我可以在Android中看到蓝牙设备的两种状态。1、配对2。已连接-<我正在尝试在Android系统中使用当前连接的蓝牙设备。但我只从适配器获得配对设备列表。getBondedDevices() 我需要当前连接的设备。我怎么能得到这个。请有人帮我实现这一点。提前谢谢。

  • 我在连接时遇到问题。起初它有效,而不是不起作用,除非我取消配对设备。我已经得到了所有可能发生的异常,套接字关闭,管道关闭,连接被拒绝,端口已经在使用中,等等。 我知道android 4.2之前版本的蓝牙存在问题(https://code.google.com/p/android/issues/detail?id=37725). 我在连接这些设备时遇到问题的设备: Htc one(Android4.

  • 问题内容: 我正在创建一个应通过蓝牙连接到特定设备的应用程序。 无论设备是否已配对,我都希望我的应用程序与此设备连接。 现在我有这个 但是此功能仅连接到配对的设备。如果我的设备尚未配对,我想将其配对。不知道该怎么做。 有人可以给我任何建议吗? 问题答案: 首次请求权限。 然后使您的设备可发现: 然后创建一个 BroadcastReceiver 来监听系统中的动作: 并通过注册以下 Boardcas