Ubuntu 20.04下Flutter的launchUrl验证通过却无法打开浏览器
Flutter Linux应用launchUrl无法打开URL的解决办法
你代码里的_launchUrl函数存在逻辑错误——当canLaunchUrl返回true时,代码进入了else分支抛出异常,根本没执行launchUrl调用,这就是浏览器没打开的直接原因。
修正后的代码示例
Future<void> _launchUrl() async { final Uri url = Uri.parse('https://www.google.com'); if (await canLaunchUrl(url)) { await launchUrl(url); } else { throw '无法打开URL: $url'; } }
若修正后仍有问题,可排查以下点
- 确认
url_launcher包依赖适配Flutter 3.16.4版本,执行flutter pub get确保依赖安装完整 - 在Ubuntu终端执行
xdg-open https://www.google.com,测试系统默认浏览器能否正常打开URL - 检查项目
linux目录下的配置文件,确保未修改Flutter应用调用系统程序的默认权限
内容的提问来源于stack exchange,提问作者Nikhil Razdan
相关产品推荐
相关产品推荐

