在某些安卓设备上(不管是哪个操作系统版本或蓝牙版本),BLE设备连接后会出现问题。服务/特征没有更新到最新状态。这通常发生在周边设备更改了服务(而应用程序未连接的情况下)。
在这种状态下,无法使用设备。要验证此问题,您可以检索所有特征并发现已过时(从缓存中加载的特征不存在)。
当前解决方案(非编程) 在安卓OS系统设置中重置蓝牙启用状态即可。(关闭并打开蓝牙状态)
此外,在nRF Connect应用程序中有一个名为“Refresh services”的功能
(忽略“Parse known characteristics”这不是问题) 该项目(nRF Connect)未开源。我不知道如何“刷新服务”/“清除缓存”,以避免在连接时加载错误的服务/特征。
如何在安卓(java)中实现此功能?
背景:我正在使用带有本机ble插件的ionic。我可以直接在插件中实现原生代码。
在这种状态下,无法使用设备。要验证此问题,您可以检索所有特征并发现已过时(从缓存中加载的特征不存在)。
当前解决方案(非编程) 在安卓OS系统设置中重置蓝牙启用状态即可。(关闭并打开蓝牙状态)
此外,在nRF Connect应用程序中有一个名为“Refresh services”的功能
(忽略“Parse known characteristics”这不是问题) 该项目(nRF Connect)未开源。我不知道如何“刷新服务”/“清除缓存”,以避免在连接时加载错误的服务/特征。
如何在安卓(java)中实现此功能?
背景:我正在使用带有本机ble插件的ionic。我可以直接在插件中实现原生代码。