Android 更改 UUID 后蓝牙未发现特征
Android Bluetooth not discovering the characteristic after changing UUID
我正在使用 Android 5.0.1 Lollipop 并开发低功耗蓝牙服务器-客户端通信。我有三星 Galaxy s4。我的客户服务具有三个特点。我将特征之一 属性 设为只写和加密写入。然后我将其更改为非加密写入。写操作不再适用于此特性。我知道我必须从设置中重新启动蓝牙适配器并取消配对设备,但它根本不再工作了。然后我更改了特征的 UUID。它发现具有旧 UUID 的特征。我不明白。如何从蓝牙适配器中删除与某个特定设备相关的所有蓝牙数据?
编辑:我用 iPhone 设备仔细检查了它。 iPhone 使用新 UUID 发现特征,而 Android 使用旧 UUID 发现特征。
好的,经过对设置的更多研究(Samsung s4 Lollipop 5.01),我找到了一种清除蓝牙缓存的方法:
设置 -> 更多 -> 应用程序管理器 -> 全部 -> 蓝牙 -> 清除缓存
如果您想以编程方式执行此操作,请关注此线程:How to programmatically force bluetooth low energy service discovery on Android without using cache
我正在使用 Android 5.0.1 Lollipop 并开发低功耗蓝牙服务器-客户端通信。我有三星 Galaxy s4。我的客户服务具有三个特点。我将特征之一 属性 设为只写和加密写入。然后我将其更改为非加密写入。写操作不再适用于此特性。我知道我必须从设置中重新启动蓝牙适配器并取消配对设备,但它根本不再工作了。然后我更改了特征的 UUID。它发现具有旧 UUID 的特征。我不明白。如何从蓝牙适配器中删除与某个特定设备相关的所有蓝牙数据?
编辑:我用 iPhone 设备仔细检查了它。 iPhone 使用新 UUID 发现特征,而 Android 使用旧 UUID 发现特征。
好的,经过对设置的更多研究(Samsung s4 Lollipop 5.01),我找到了一种清除蓝牙缓存的方法: 设置 -> 更多 -> 应用程序管理器 -> 全部 -> 蓝牙 -> 清除缓存
如果您想以编程方式执行此操作,请关注此线程:How to programmatically force bluetooth low energy service discovery on Android without using cache