如何解决检测 BLE 在 30 秒内扫描超过 5 次
This article 表示 android BLE 每 30 秒只能扫描 5 次。第 6 次失败。我的问题是我无法获取这个问题。好像也没有什么异常什么的。
未调用 onScanFailed
时出现此错误。好像很安静。
private val scanCallback = object: ScanCallback() {
override fun onScanFailed(errorCode: Int) {
super.onScanFailed(errorCode)
// not called
}
}
我尝试注册 ACTION_disCOVERY_STARTED
但只有在您使用 BLEAdapter.getInstance().startdiscovery()
时才会调用此操作,并且此命令适用于经典蓝牙。我使用 BLE 扫描。
以下属性也是如此:BLEAdapter.getInstance().isdiscovering
这只能是 true,当您使用 startdiscovery
有人知道我如何知道扫描是否失败,因为这是 30 秒内的第 6 次吗?
解决方法
不幸的是,当您达到限制时,API 不会报告。您需要跟踪自己扫描的频率和时间。
否则看起来扫描正在进行中,但实际上并非如此。
然而,当达到限制时,您会在 logcat 日志中看到。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。