在Android中,当成功连接到设备后,onScanResult回调方法将不再被调用。这是因为在成功连接设备后,蓝牙扫描将被停止。
要解决这个问题,你可以使用以下方法之一:
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
bluetoothAdapter.stopLeScan(leScanCallback);
这样,当成功连接到设备后,onScanResult回调将不再被调用。
@Override
public void onScanResult(int callbackType, ScanResult result) {
BluetoothDevice device = result.getDevice();
if (device.getBondState() != BluetoothDevice.BOND_BONDED) {
// 设备未连接,执行相应操作
} else {
// 设备已连接,不执行任何操作
}
}
这样,在成功连接设备后,onScanResult回调方法将被调用,但不会执行任何操作。
请注意,这些解决方法适用于低功耗蓝牙(BLE)设备。如果你使用的是经典蓝牙设备,则可能需要使用不同的方法。