BLE观察(扫描)时,ScanCallback无法回调。这是由于没有正确执行蓝牙权限或没有设置正确的扫描过滤器所导致的。以下是解决此问题的代码示例:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, PERMISSION_REQUEST_COARSE_LOCATION); }
private ScanCallback mScanCallback = new ScanCallback() {
@Override
public void onScanResult(int callbackType, ScanResult result) {
super.onScanResult(callbackType, result);
// 扫描结果处理
}
@Override
public void onScanFailed(int errorCode) {
super.onScanFailed(errorCode);
}
};
private void startScan() {
BluetoothLeScanner scanner = bluetoothAdapter.getBluetoothLeScanner();
ScanFilter scanFilter = new ScanFilter.Builder().setDeviceName("MyDeviceName").build();
List
以上步骤将解决BLE观察(扫描)时ScanCallback无法回调的问题。
下一篇:BLE配对/绑定