android - 使用 BLE 进行双向通信与客户端/服务器

标签 android bluetooth-lowenergy android-bluetooth

假设我有两个用户 AB,他们各自使用 Android 设备 androidAandroidB。我希望双方都能够打开一个应用程序,按下该应用程序中的一个按钮,启动 BLE,然后各自向对方发送各自的 user_id。因此,androidA 接收 bandroidB 接收 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 兼容设备吗?

http://www.cisco.com/c/dam/en/us/solutions/collateral/enterprise-networks/connected-mobile-experiences/ibeacon_faq.pdf

希望这可以帮助您解决问题。

关于android - 使用 BLE 进行双向通信与客户端/服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23752183/

相关文章:

iOS 解释 BLE 数据和字节 swift 3

android - 禁用安卓内置麦克风

无需用户使用 Android API 输入 PIN 和确认的 Android 蓝牙配对

android - 蓝牙低功耗: Read Long Characteristics Value using Android/iOS

java - 应用程序在尝试打开第二个布局时已停止

java - Android-Java 客户端-服务器 - AsyncTask 中的 Toast 崩溃应用程序

java - 在单选按钮可绘制的左侧添加填充

OnClickListener.onClick中出现NullPointerException时Android卡死(其他任务无法启动)

bluetooth - BLE 设备是否应该配对?或者设备必须配对的条件是什么?

c# - Windows 接收 iOS 设备发布的 BLE 广播包