0
RichText(
    text: TextSpan(
      children: [
        TextSpan(
          text: "Soumik's LinkedIn Profile",
          style:
              TextStyle(fontSize: 20.0, color: Colors.blue),
          recognizer: TapGestureRecognizer()
            ..onTap = () async {
              var url =
                  "https://www.linkedin.com/in/soumik-mukherjee-438b451b5/";
              if (await canLaunch(url)) {
                await launch(url);
              } else {
                throw "Failed to open LinkedIn";
              }
            },
        )
      ],
    ),
  ),

我在 Flutter 上编写了这段代码来启动我的 LinkedIn 个人资料的 URL。当我在模拟器上运行它时,它可以正常工作,因为当我点击 URL 时网页会自动打开。但是,当我通过在调试模式下运行应用程序在物理设备上尝试相同的操作时,URL 没有响应。相反,我在控制台中收到错误。

这是终端错误的屏幕截图

4

1 回答 1

1

我假设您的 POCO X2 上安装了 Android 11,即 API 级别 30。

这是该canLaunch函数的文档:https ://pub.dev/documentation/url_launcher/latest/url_launcher/canLaunch.html 。

文档说:“在 Android(来自 API 30)上,当 AndroidManifest.xml 文件中未提供所需的可见性配置时,canLaunch 将返回 false。有关更多信息,请参阅 Android 文档中的管理包可见性文章。”

因此,我假设您没有在导致canLaunch返回的 AndroidManifest.xml 文件中提供可见性配置false

于 2021-05-30T20:18:26.560 回答