diff --git a/lib/common/util/BluetoothHelper.dart b/lib/common/util/BluetoothHelper.dart index 1714a6d..21c2824 100644 --- a/lib/common/util/BluetoothHelper.dart +++ b/lib/common/util/BluetoothHelper.dart @@ -5,16 +5,28 @@ class BluetoothHelper { static StreamSubscription? _subscription; /// 获取当前蓝牙是否开启(跨平台封装) - static Future isBluetoothOn({Duration timeout = const Duration(seconds: 2)}) async { - // 先尝试直接获取(Android 上几乎即时可用) - bool directCheck = await FlutterBluePlus.isOn; - if (directCheck) return true; + // static Future isBluetoothOn({Duration timeout = const Duration(seconds: 2)}) async { + // // 先尝试直接获取(Android 上几乎即时可用) + // bool directCheck = await FlutterBluePlus.isOn; + // if (directCheck) return true; - // iOS 上有初始化延迟,用 adapterState.first 再确认一次 + // // iOS 上有初始化延迟,用 adapterState.first 再确认一次 + // try { + // BluetoothAdapterState state = await FlutterBluePlus.adapterState + // .firstWhere((s) => s != BluetoothAdapterState.unknown, + // orElse: () => BluetoothAdapterState.unknown) + // .timeout(timeout); + + // return state == BluetoothAdapterState.on; + // } catch (_) { + // return false; + // } + // } + static Future isBluetoothOn( + {Duration timeout = const Duration(seconds: 2)}) async { try { BluetoothAdapterState state = await FlutterBluePlus.adapterState - .firstWhere((s) => s != BluetoothAdapterState.unknown, - orElse: () => BluetoothAdapterState.unknown) + .firstWhere((s) => s != BluetoothAdapterState.unknown) .timeout(timeout); return state == BluetoothAdapterState.on;