问题描述
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 日志中看到。