我正在从事一个需要始终保持快速蓝牙连接的项目。我在实践中发现,Android 6(棉花糖)似乎总是为任何设备缓存Gatt。较新版本的Android OS似乎仅在绑定到外围设备时才缓存,从而导致每个蓝牙连接的服务发现时间都非常长。
对于我的用例,我需要能够支持所有设备,而不仅仅是棉花糖。我也负担不起与外围设备的绑定。
我已经在线阅读了几篇文章,这些文章指出,通用属性服务的存在和服务已更改的特征将迫使Android缓存,即使没有绑定也是如此。我昨天进行了一次快速测试,似乎暗示这不是事实。
我想念什么吗?我已经考虑过尝试使用this answer中@ulusoyca建议的反射方法来对其进行黑客攻击并手动缓存服务信息,但是如果Android API在Android版本之间进行更改,那似乎是一场灾难。