假设我有两个用户 A
和 B
,他们各自使用 Android 设备 androidA
和 androidB
。我希望双方都能够打开一个应用程序,按下该应用程序中的一个按钮,启动 BLE,然后各自向对方发送各自的 user_id
。因此,androidA
接收 b
,androidB
接收 a
。我知道这可以通过回调发生,并且我可以通过单向通信来实现这一点。也就是说,我可以将 androidB
作为外围设备,将 androidA
作为中央设备,因此 a
接收 user_id
b
。
是否可以进行双向通信?如果没有,等待回调,一旦回调发生,让他们转换角色是否明智?在这方面,我只需要检查以确保当 androidA
获取位于 androidB
范围内的回调时,androidB
也会获取一些采取行动的响应。
最佳答案
实际上,Android 中无法进行双向通信。只有它可以读取广告包。因此,您需要一些其他设备来传输 BLE 广告数据包,可以是 estimote、radiusnetwork 等公司提供的任何信标,也可以是 iOS 设备。检查此链接
http://developer.radiusnetworks.com/2013/12/15/why-android-devices-cant-act-as-ibeacons.html
但是,三星声称某些设备可以配置为传输 BLE 广告数据包的设备。检查此链接
http://developer.samsung.com/ble
检查本文档中的问题 12.iBeacon 兼容设备吗?
希望这可以帮助您解决问题。
关于android - 使用 BLE 进行双向通信与客户端/服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23752183/