检查是否已打开蓝牙权限 在 AndroidManifest.xml 文件中添加请求蓝牙权限的代码:
检查是否已开启蓝牙 开启蓝牙的代码如下所示:
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (mBluetoothAdapter == null) { // 设备不支持蓝牙 return; } if (!mBluetoothAdapter.isEnabled()) { Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); }
检查是否正在扫描 在扫描开始前,需要确认是否正在扫描。如果正在扫描,需要先停止扫描,再重新开始扫描。
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); BluetoothLeScanner mBluetoothLeScanner = mBluetoothAdapter.getBluetoothLeScanner(); if (mBluetoothLeScanner != null) { mBluetoothLeScanner.stopScan(mScanCallback); } if (mBluetoothAdapter.isEnabled() && mBluetoothLeScanner != null) { mBluetoothLeScanner.startScan(mScanCallback); }
检查是否有其他应用程序正在使用蓝牙 在 Android 设备上,只能有一个应用程序使用蓝牙。如果有其他应用程序正在使用蓝牙,需要停止这些应用程序,然后再开始扫描。
检查设备支持的蓝牙协议是否与要扫描的设备一致 在扫描设备之前,需要确认设备支持的蓝牙协议是否与要扫描的设备一致。如果不一致,可能导致扫描失败。
重启设