From 80988a7c1cc164f7c9e6c18c73fba813717d98f4 Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Tue, 2 Sep 2025 11:00:26 +0800 Subject: [PATCH] =?UTF-8?q?fix(pairing):=20=E4=BF=AE=E5=A4=8DiOS=E5=B9=B3?= =?UTF-8?q?=E5=8F=B0=E6=89=93=E5=BC=80=E8=93=9D=E7=89=99=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 使用url_launcher直接打开系统设置,失败时回退到指导对话框 --- .../pairing/controllers/pairing_controller.dart | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/modules/pairing/controllers/pairing_controller.dart b/lib/modules/pairing/controllers/pairing_controller.dart index 5cc66c30b..8131d1e01 100644 --- a/lib/modules/pairing/controllers/pairing_controller.dart +++ b/lib/modules/pairing/controllers/pairing_controller.dart @@ -8,6 +8,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'dart:async'; import 'package:permission_handler/permission_handler.dart'; +import 'package:url_launcher/url_launcher.dart'; import '../../../routes/app_routes.dart'; import '../../../core/utils/logger.dart'; import 'dart:io'; @@ -1131,8 +1132,14 @@ class PairingController extends GetxController with WidgetsBindingObserver { /// 打开蓝牙设置 - 简化版本 void _openBluetoothSettings() async { if (Platform.isIOS) { - // iOS平台:直接显示用户指导对话框 - _showBluetoothGuideDialog(); + const url = 'App-Prefs:'; + //拉起iOS系统设置app到前台,使用旧接口生效 + if (await canLaunch(url)) { + await launch(url); + } else { + // 如果无法直接打开,回退到显示指导对话框 + _showBluetoothGuideDialog(); + } } else { // Android平台使用原有方式 AppSettings.openAppSettings(type: AppSettingsType.bluetooth);