随着 Android L 的发布,我正在制作一个在两种模式下都使用 BLE 的应用程序。一些手机将处于外围模式(即 GATT 服务器),其他手机将处于中央模式(即 GATT 客户端)。每个电话如何确定是客户端还是服务器是无关紧要的。
我遇到的问题是,在某一时刻,GATT 服务器必须开始向 GATT 客户端推送信息,然后让 GATT 客户端做出响应。虽然我查看了规范并说通信是双向的,但我不确定这是否是受支持的通信模式。显而易见的选择是颠倒哪个角色扮演服务器和客户端,但不幸的是,应用程序的要求阻止我这样做(因为使用 GATT 客户端模式的角色需要同时保持与多个设备的连接)。
是否有明确定义的方式让 GATT 服务器将数据“推送”到 GATT 客户端?或者,是否有更好的选择(可能使用某种标志来建立传统的蓝牙连接)?