我是否可以请求将MTU从外围设备更改为android设备(即使在较旧的API中)?

我是否可以请求将MTU从外围设备更改为android设备(即使在较旧的API中)?,android,bluetooth,bluetooth-lowenergy,mtu,bluetooth-peripheral,Android,Bluetooth,Bluetooth Lowenergy,Mtu,Bluetooth Peripheral,我有一个硬件作为外设,我想读取它的所有内存,它有1081344字节。使用23字节的标准大小(其中20字节对数据有用->请参见编辑以了解其工作原理),读取所有内存需要一分钟以上的时间,因此我希望提高吞吐量。为此,我可以使MTU更大,正如我在这篇有用的文章()中所看到的。我听说用更大的MTU转移是不稳定的。它是否太不稳定而不值得使用,或者,不管它有多不稳定,它都能提供更好的吞吐量 问题是android仅从API 21提供requestMtu方法。我想知道是否有可能在不必在android端实现任何回调

我有一个硬件作为外设,我想读取它的所有内存,它有1081344字节。使用23字节的标准大小(其中20字节对数据有用->请参见编辑以了解其工作原理),读取所有内存需要一分钟以上的时间,因此我希望提高吞吐量。为此,我可以使MTU更大,正如我在这篇有用的文章()中所看到的。我听说用更大的MTU转移是不稳定的。它是否太不稳定而不值得使用,或者,不管它有多不稳定,它都能提供更好的吞吐量

问题是android仅从API 21提供requestMtu方法。我想知道是否有可能在不必在android端实现任何回调或函数的情况下从外围设备更改MTU(这样,它将在18岁以后的任何API上工作)。从这个答案()来看,这似乎是可能的,但我不确定是否有一些实现我应该在android端执行

如果android不接受此请求,是否有其他方法可以在不依赖API 21的新功能的情况下更改MTU?这个答案()让我相信这是可能的,但我不清楚它是如何做到的

如果我可以从外设请求MTU大小(固件开发人员向我确认这是可能的),外设是否可以知道它是否成功?我认为这就足够了,因为我可以通过特征与外围设备进行通信,它可以告诉我请求是否被接受。我只是想知道android是否可以接受并发送一个成功的响应,或者在21之前API上是否有23字节MTU的限制

由于在硬件上实现它需要一些时间,我想知道它是否值得尝试,或者它是否肯定不起作用

编辑:外设现在正在用一个每次20字节的包更新一个caractheristic,并将更改通知发送到我的中心。所以,分块的划分是在服务器端完成的。我想做的是把这些块做得更大