这种情况可能是因为不同版本的设备对于扫描频率和参数的要求不同造成的,可以在程序中给扫描器添加以下参数以提高扫描速度:
ScanSettings settings = new ScanSettings.Builder()
.setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
.setReportDelay(0)
.setMatchMode(ScanSettings.MATCH_MODE_AGGRESSIVE)
.setNumOfMatches(ScanSettings.MATCH_NUM_MAX_ADVERTISEMENT)
.build();
bluetoothLeScanner.startScan(filters, settings, scanCallback);
其中,setScanMode设置扫描模式为SCAN_MODE_LOW_LATENCY,setReportDelay设置回报延迟为0,setMatchMode设置匹配模式为MATCH_MODE_AGGRESSIVE,setNumOfMatches设置最大匹配数量为MATCH_NUM_MAX_ADVERTISEMENT。这些参数可以提高扫描速度和广告数量。