Android BLE最大并发广播数 error 2: too many advertisers报错咨询
Android BLE并发广播数量相关问题解答
- 不存在全平台统一的固定并发广播上限值,这个数值由设备硬件能力决定,不同设备间差异极大。
- 原生AOSP框架层默认的广播实例配额参考值为5,但这个值仅为谷歌给出的参考配置,手机、平板等设备厂商可以根据自身选用的蓝牙芯片能力修改系统层配置,不会被原生代码强制限制。
- 实际可用的最大并发广播数完全取决于设备搭载的蓝牙控制器硬件:入门级设备搭载的低规格蓝牙芯片可能仅支持23路并发BLE广播,主流消费级设备常用的蓝牙芯片普遍支持58路,部分面向特殊场景定制的蓝牙硬件可支持更高的并发数。
- 你遇到的错误码2对应
ADVERTISE_FAILED_TOO_MANY_ADVERTISERS,触发条件是系统全局维度的BLE广播实例被全部占用——这个占用统计是跨应用的,哪怕你自己的应用只启动了1路广播,如果系统服务、其他第三方应用已经占满了蓝牙芯片支持的所有广播实例,新的广播启动请求就会抛出这个错误。
开发适配提示:不要假设所有设备都能支持5路及以上的并发广播,涉及多广播逻辑时必须做好该错误的捕获和降级处理,避免功能在低规格设备上出现异常。
内容的提问来源于stack exchange,提问作者Gaspar gg
相关产品推荐
相关产品推荐

