如何使用 url_launcher 在 flutter 应用程序中打开 URL?

How to open URL in flutter app with url_launcher?

我使用包url_launcher打开url,这里是代码:

  Future <void> _openURL(String url) async{
    if(await canLaunch(url)) {
      await launch(
          url,
        forceSafariVC: false,
        forceWebView: true,
      );
    }
    else{
      throw 'Cant open URL';
    }
  }


ListTile(
                        title: Text('Google'),
                        onTap: () {
                          _openURL('https://www.google.de/');
                        }),

但是无论url我想打开什么,我都会得到错误'Cant open URL'

试试下面的代码:

创建 launchURL 函数:

_launch() async {
    const url = 'https://www.google.de/';
    if (await canLaunch(url)) {
      await launch(url);
    } else {
      throw 'Could not launch $url';
    }
  }

创建您的小部件:

ListTile(
     onTap: _launch,
     title: Text('Google'),
    ),

希望它解决了你的问题

I get the same error: Unhandled Exception: Could not launch

正如您在此处看到的 https://pub.dev/packages/url_launcher 您必须将以下代码段放在 AndroidManifest.xml

<queries>
  <!-- If your app opens https URLs -->
  <intent>
    <action android:name="android.intent.action.VIEW" />
    <data android:scheme="https" />
  </intent>
</queries>

我无法在 Android 中使用带有 pub 文件的 Flutter 应用打开 URL https://pub.dev/packages/url_launcher

因为 JavaScript 未启用。

这是 Android -

的工作代码片段
  void _launchURL(String _url) async {
    if (await canLaunch(_url)) {
      await launch(_url, forceSafariVC: true, forceWebView: true, enableJavaScript: true);
    } else {
      throw 'Could not launch $_url';
    }
  }

然后我添加了一个密钥 enableJavaScript: true,它也开始在 Android 上工作。 iOS无需配置。