我在Nexus 7上使用Android 4.4.2。我有一个蓝牙低功耗外围设备,当它重新启动时服务会改变。 Android应用程序调用BluetoothGatt.discoverServices()。 然而,Android只查询一次外设以发现服务,随后调用discoverServices()会导致第一次调用的caching数据,即使在断开连接之间也是如此。 如果我禁用/启用Android bt适配器,则discoverServices()通过查询外设来刷新caching。 有没有一种程序化的方式来强制Android刷新其可靠的服务caching而不禁用/启用适配器?
我想用一些蓝牙低功耗开发套件创建我自己的iBeacon。 苹果公司尚未发布iBeacons规范,但是一些硬件开发商已经反向从AirLocate示例代码中设计出iBeacon并开始销售iBeacon开发套件。 那么什么是iBeacon蓝牙配置文件? 低能耗蓝牙使用GATT进行LE配置文件服务发现。 所以我认为我们需要知道属性句柄,属性类型,属性值以及可能的iBeacon属性的属性权限。 因此,对于UUID为E2C56DB5-DFFB-48D2-B060-D0F5A71096E0的iBeacon,主值为1,次值为1,那么蓝牙GATT配置文件服务是什么? 下面是我通过讨论苹果论坛和文档所做的一些假设。 您只需要查看蓝牙外设的配置文件服务(GATT)就可以知道它是iBeacon。 主要键和次要键编码在此配置文件服务的某处 下面是一些公司的iBeacon开发工具包,似乎已经有了这个数字: http://redbearlab.com/ibeacon/ http://kontakt.io/ 希望及时我们将有一个在Bluetooth.org上发布的个人资料,如下所示: https : //www.bluetooth.org/en-us/specification/adopted-specifications