工作配置文件中FilePicker触发already_active异常的技术求助
工作配置文件中FilePicker触发"already_active"异常问题
我的手机设有个人和工作两个配置文件,FilePicker在个人配置文件中运行正常,但在工作配置文件中调用时抛出如下异常:
[MethodChannelFilePicker] Platform exception: PlatformException(already_active, File picker is already active, null, null) E/flutter (16388): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(already_active, File picker is already active, null, null) E/flutter (16388): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:652:7) E/flutter (16388): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:310:18) E/flutter (16388): <asynchronous suspension> E/flutter (16388): #2 MethodChannel.invokeListMethod (package:flutter/src/services/platform_channel.dart:496:35) E/flutter (16388): <asynchronous suspension> E/flutter (16388): #3 FilePickerIO._getPath (package:file_picker/src/file_picker_io.dart:92:33) E/flutter (16388): <asynchronous suspension> E/flutter (16388): #4 _UploadFileWidgetState.selectFile (package:feeta/views/other_widgets/upload_file_widget.dart:40:32) E/flutter (16388): <asynchronous suspension>
调用FilePicker的代码
Future<void> selectFile() async { FilePickerResult? result = await FilePicker.platform.pickFiles( type: FileType.custom, allowedExtensions: ['pdf', 'jpg', 'jpeg', 'png'], allowMultiple: false, ); if (result != null && result.files.isNotEmpty) { File selected = File(result.files.single.path!); String fileExtension = selected.path.split('.').last.toLowerCase(); if (fileExtension == 'pdf' || fileExtension == 'jpg' || fileExtension == 'jpeg' || fileExtension == 'png') { int fileSize = selected.lengthSync(); if (fileSize <= 1024 * 1024) { if (widget.dialogType == "postLeave") { _allLeaveViewModel.selectedFile.value = selected; print("SelectedFile1: ${_allLeaveViewModel.selectedFile.value}"); } else { _myLeavesViewModel.selectedFile.value = selected; print("SelectedFile2: ${_myLeavesViewModel.selectedFile.value}"); } setState(() { selectedFile = selected; }); } else { showFileSizeExceededDialog(); } } else { showInvalidFileTypeDialog(); } } }
项目依赖配置
cupertino_icons: ^1.0.2 http: ^1.0.0 #webview_flutter: ^4.2.2 flutter_inappwebview: ^5.7.2 #flutter_html: ^3.0.0-beta.2 flutter_secure_storage: ^8.0.0 dio: ^5.3.2 jwt_decoder: ^2.0.1 file_picker: ^5.3.3
出现问题的设备列表
- Redmi Note 8 - OS 12.5.2 - Android 11
- Redmi Note 8 pro - OS 12.5.10 - Android 11
- Redmi Note 9 - OS 12.5.6 - Android 11
- OnePlus 8t - OS 13.1 - Android 13
请问为何仅在工作配置文件中会出现该问题?是否需要针对工作配置文件对FilePicker进行特殊处理?恳请提供帮助或建议!
内容的提问来源于stack exchange,提问作者Saurabh Jain
相关产品推荐
相关产品推荐

