1

有没有办法获取连接到蓝牙外围设备的所有设备的列表?我想连接到 iBeacon 并检查是否有另一部 iPhone 连接到它。

4

2 回答 2

4

不,有两个原因:

  1. iBeacons 未连接到 iOS 设备,iBeacon 仅广播,并且不存在从手机到信标的反向通信。

  2. 了解连接到外围设备的其他 BT 4.0 Central 的详细信息不符合蓝牙 4.0 的隐私功能。iOS 和其他 Central 正在使用可解析的私有地址,以避免出现您所描述的情况。

于 2013-10-07T13:53:27.317 回答
1

@barbazoo 是正确的,你不能完全按照你的要求做,因为 iBeacon 只传输数据——他们不知道什么设备能看到它们。

但是,如果您在提到的每台 iOS 设备上运行了一个应用程序,并且您有一个可以构建 Web 服务的服务器,您也可以完成类似的事情。Web 服务将公开两种方法:

reportIBeaconVisible(iBeaconProximityUUID, iBeaconMajor, iBeaconMinor, myPhoneAdvertisingId)
queryVisiblePhones(iBeaconProximityUUID, iBeaconMajor, iBeaconMinor)

该应用程序将使用第一种方法报告它看到的每个 iBeacon,将 iBeacon 的标识符连同手机的广告标识符一起传递给服务器。

然后,该应用程序可以使用第二种方法询问服务器哪些其他手机看到了完全相同的 iBeacon,这将返回一个手机广告标识符列表。

您必须在电话上设置逻辑,以便仅以合理的频率向服务器报告数据。如果电话在特定时间间隔内没有报告看到信标,您还需要服务器上的代码来自动删除列表中的电话记录。

于 2013-10-08T00:53:34.123 回答