有没有办法获取连接到蓝牙外设的所有设备的列表? 我想连接到iBeacon并检查是否有其他iPhone连接到它。
答案 0 :(得分:4)
不,有两个原因:
iBeacons未连接到iOS设备,iBeacons仅播放,手机与信标之间不存在反向通信。
了解连接到外围设备的其他BT 4.0中心的详细信息与蓝牙4.0的隐私功能不一致。 iOS和其他Central正在使用可解析的私有地址,以避免您所描述的情况。
答案 1 :(得分:1)
@barbazoo是正确的,因为iBeacons只传输数据,所以你不能完全按照你的要求去做 - 他们不知道哪些设备看到它们。
但是,如果您在所提到的每个iOS设备上运行应用程序,并且您拥有可以构建Web服务的服务器,则可以完成类似的操作。 Web服务将公开两种方法:
reportIBeaconVisible(iBeaconProximityUUID, iBeaconMajor, iBeaconMinor, myPhoneAdvertisingId)
queryVisiblePhones(iBeaconProximityUUID, iBeaconMajor, iBeaconMinor)
应用程序将使用第一种方法报告它看到的每个iBeacon,将iBeacon的标识符以及手机的广告标识符传递给服务器。
然后,应用程序可以使用第二种方法向服务器询问其他手机看到完全相同的iBeacon,这将返回电话广告标识符列表。
您必须在手机上使用逻辑才能以合理的频率向服务器报告数据。如果手机没有报告在特定时间间隔内看到信标,您还需要服务器上的代码自动删除列表中的电话记录。