diff --git a/Assets/Scripts/UI/Pages/ConnectDevice/ConnectDevicePageCtrl.cs b/Assets/Scripts/UI/Pages/ConnectDevice/ConnectDevicePageCtrl.cs index b3bc866..3593d21 100644 --- a/Assets/Scripts/UI/Pages/ConnectDevice/ConnectDevicePageCtrl.cs +++ b/Assets/Scripts/UI/Pages/ConnectDevice/ConnectDevicePageCtrl.cs @@ -95,7 +95,23 @@ public class ConnectDevicePageCtrl : MonoBehaviour } } isconnecting=true; - BluetoothManager.Instance.Connect(result); + // 根据 MAC 在已扫描到的设备列表中查找对应设备 + // iOS: Address 是 UUID, MacFromBroadcast 是真实 MAC + // Android: Address 本身就是 MAC + string targetMac = result.ToUpper(); + var foundDevice = BluetoothManager.Instance.DiscoveredDevices.Find( + d => d.GetEffectiveAddress().ToUpper() == targetMac + ); + if (foundDevice != null) + { + // 找到设备,用正确的地址连接(iOS 用 UUID,Android 用 MAC) + BluetoothManager.Instance.Connect(foundDevice.Address); + } + else + { + // 未找到,设置 aimMac 让扫描到设备时自动连接 + BluetoothManager.Instance.ChangeAimMac(result); + } LoadingUI.Show(); qrCodePlane.SetActive(false); nowDeviceMac=result;