0

我使用包 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/');
                        }),

但无论我想打开什么网址,我都会收到错误“无法打开网址”

4

3 回答 3

2

尝试以下代码:

创建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'),
    ),

希望它解决了你的问题

于 2021-08-01T11:51:24.160 回答
1

我得到同样的错误:未处理的异常:无法启动

正如您在此处看到的那样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>
于 2021-08-01T15:23:57.443 回答
0

我无法使用带有 pub 文件的 Flutter 应用程序在 Android 中打开 URLhttps://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 无需配置。

于 2022-03-03T07:06:04.350 回答