如何在flutter应用中正确定义异步函数?

问题描述 投票:0回答:1

我正在开发一个 flutter 项目,为了简单起见,决定允许将“帮助和支持”部分的用户重定向到网站。因此,我尝试创建一个异步函数来允许重定向。

因此,我尝试使用 Future 函数,该函数使用名为 launch_url 的 launchURL。

Future<void> _launchURL(Uri url) async {
  if (await canLaunchUrl(url)) {
    await launchUrl(url);
  } else {
    throw 'Could not launch $url';
  }
}

但是,它总是抛出这个异常:

I/UrlLauncher(30788): component name for https://flutter.dev/ is null
I/UrlLauncher(30788): component name for https://flutter.dev is null
E/flutter (30788): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Could not launch https://flutter.dev/
E/flutter (30788): #0      _launchURL (package:clothing_app/screens/settings.dart:385:5)
E/flutter (30788): <asynchronous suspension>
E/flutter (30788):

注意:当我尝试在我朋友的计算机上运行时,它运行正常,没有出现异常。

在这两种情况下,我们都使用 Android Studio 模拟器来查看应用程序的布局,并使用 VS Code 来编写 flutter 代码(连接到模拟器设备)。我还尝试在我的物理手机上运行代码,但出现了同样的问题。

flutter android-studio asynchronous flutter-dependencies
1个回答
0
投票

您可能没有在

AndroidManifest.xml
上添加 url_launcher 所需的 <queries> …</queries>

元数据

请参阅文档此处

© www.soinside.com 2019 - 2024. All rights reserved.