【问题标题】:Bluetooth abstract device ping蓝牙抽象设备 ping
【发布时间】:2016-08-12 07:55:35
【问题描述】:

我必须知道 RSSI,或者至少知道设备集范围内的那个设备。有些设备默认不可见(耳机等)所以我已经可以中继所有已经配对的设备,并且我有它们的 MAC。据我了解,只有 2 种基本连接类型。所有其他配置文件都基于女巫。那么是否有任何通用“密钥”可以连接到每种设备类型?我尝试获取每个设备的所有 UUID,然后尝试使用 RFCOM 依次使用每个 uid 进行连接。如果至少有一个连接未触发超时异常,我希望设备在线。也许有更抽象和简单的方法?我能否依靠该设备支持并将使用 SDP 返回 uuid。 BLE 设备是否支持 RFCOM 连接?

【问题讨论】:

  • 不清楚您的问题。但是 BLE 不支持 RFCOMM。
  • 我的问题是如何检查“配对设备是否在范围内”

标签: android bluetooth


【解决方案1】:

明白了,那么对于BR/EDR,如果你已经知道它们的地址,你可以使用getRemoteName来判断它们是否在范围内,这个命令将建立临时ACL,然后在获取名称后立即断开连接.如果错误代码是页面超时,那么我们假设它超出了范围,但如果我们可以得到名称,那么它们在范围内。您实际上并没有检查他们的 SDP。但是对于BLE,如果它们不是广告,您可能找不到它们。

【讨论】:

  • 什么类有这个方法?能给我一个文档链接吗?
  • 看起来像是发现它是一个隐藏的 API
  • 如果您使用的是 Android,似乎是的。如果您使用的是android,您可以尝试直接连接SPP(或者说RFCOMM通道)
  • 刚刚使用反射调用了getRemoteName,它看起来像返回缓存值,以防它在设备离线时工作
  • 对于 SPP,每个设备上存在哪个 UUID?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-02
  • 2012-03-27
  • 2013-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多