Java 使用GATT的Android低能耗蓝牙

Java 使用GATT的Android低能耗蓝牙,java,android,bluetooth,gatt,Java,Android,Bluetooth,Gatt,我已经读了很多关于蓝牙和关贸总协定的书,但我仍然在努力完全理解关贸总协定是什么。为了简单起见,我想表达一下我希望我的应用程序如何工作,并简单地告诉我这是否可行?基本前提是,它将被用作位置跟踪器,信标(具体来说可能是iBeacons)将被放置在建筑物周围,每当您进入信标范围时,手机就会向服务器发送一条消息。这个想法是,它不需要扫描,手机只需监听,每当信标发出广告时,范围内的手机就会听到并引发事件 情景: 客户端下载应用程序并首次进入大楼 大楼的每个房间都有一个灯塔,例如每5秒钟就有一个广告 当客

我已经读了很多关于蓝牙和关贸总协定的书,但我仍然在努力完全理解关贸总协定是什么。为了简单起见,我想表达一下我希望我的应用程序如何工作,并简单地告诉我这是否可行?基本前提是,它将被用作位置跟踪器,信标(具体来说可能是iBeacons)将被放置在建筑物周围,每当您进入信标范围时,手机就会向服务器发送一条消息。这个想法是,它不需要扫描,手机只需监听,每当信标发出广告时,范围内的手机就会听到并引发事件

情景:

  • 客户端下载应用程序并首次进入大楼
  • 大楼的每个房间都有一个灯塔,例如每5秒钟就有一个广告
  • 当客户走进一个房间并在信标的范围内时,手机会收到一条不友好的消息“信标2的RSSI为-87”
  • 当他们离开房间时,他们将不再听到信息,因此在它听到来自信标的另一条信息之前,他们将什么也不做
注意:此场景不涉及任何扫描、循环或配对。手机只会知道它必须监听蓝牙信息

那么,这可能吗?从我所看到的情况来看,似乎您需要使用GATT扫描并连接每个信标,然后才能从它们接收数据

非常感谢您提供有关此事的任何信息,谢谢

是的,这是可能的。 对于带有信标的商户商店,有一些高级场景。 1) 应用程序客户端需要本地存储信标的uuid或主id。 2) 具有相同uuid或主要id的商户商店将广播消息。 3) 手机操作系统在进入geofence时会一直监听这些消息,操作系统会将这些消息传递给注册用于监听信标的应用程序。 4) 您的应用程序将匹配嵌入消息中的uuid,并确定其是否适用于该应用程序。 5) 若消息uuid与客户端上的uuid不匹配,则应用程序将不会使用此消息。 6) 如果消息uuid匹配,则客户端将使用该消息并将其显示在设备上,即使此时您的应用程序未运行