Flutter调用launchUrl遇MissingPluginException异常求助
解决launchUrl在Android端抛出MissingPluginException的问题
问题场景
调用launchUrl打开URL时,Android模拟器(API 30)或真机上APP界面无反应,抛出MissingPluginException异常,但Windows端运行完全正常。launchUrl本身支持Android、Windows、iOS平台,测试使用的URL为www.google.com。
报错日志
E/flutter ( 6260): [ERROR: flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: MissingPluginException(No implementation found for method launch on channel plugins.flutter.io/url_launcher_android) E/flutter ( 6260): #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:294:7) E/flutter ( 6260): E/flutter ( 6260): #1 _launchURL (package:peliculas/screens/details_cast.dart:371:8)
相关代码
Future<void> _launchURL(String url) async { final Uri uri = Uri(scheme: "https", host: url); if (!await launchUrl(uri)) { throw 'Could not launch $url'; } }
已尝试的无效操作
flutter cleanflutter pub getflutter run- 卸载重装APP
flutter doctor -v检查无异常- 全程未使用热重启/热重载
- 移动项目存储位置
- 同逻辑的其他项目更新重启后恢复,但主项目无效
最终解决方案
创建新的Flutter项目,将原项目的lib文件夹完整复制到新项目中,同步原项目的AndroidManifest.xml配置、pubspec.yaml依赖及资源文件后,重新运行项目,问题解决。
内容的提问来源于stack exchange,提问作者Lalo92
相关产品推荐
相关产品推荐

