我试图将连接+写入BLE设备的总时间最小化。BLE模块是由我工作的一家公司开发的,因此我已经了解了该设备的所有服务和特性。
到目前为止,连接时间+服务发现时间太长了(大约是800 ms,这里的要求是500 ms)。我试图跳过服务发现,为此,我在代码中手动创建了特性和服务(使用反射设置受保护的属性等),我可以“从技术上”传递服务发现。
问题是,如果我这样做,第一个包大约需要300毫秒,在发现服务时,发现大约需要280毫秒,第一个数据包需要20毫秒,所以似乎不管以后发生什么,即使我没有直接调用它,服务发现似乎都是执行的--我的假设正确吗?如果是这样的话,有没有办法绕过这个发现呢?
如果能提供任何帮助的话,到目前为止我还没有在网上找到任何有用的信息,而这300毫秒是致命的。
发布于 2016-09-25 09:39:11
Android会做一个服务发现,即使你没有告诉它。
你有三个选择:
https://stackoverflow.com/questions/39685272
复制相似问题