繁体   English   中英

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

[英]How to open URL in flutter app with url_launcher?

我使用package 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,我都会收到错误“无法打开 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'),
    ),

希望它解决了你的问题

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

正如你在这里看到的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>

我有同样的问题。 就我而言,我重新启动了模拟器,一切正常。 大多数情况下,重新启动计算机/模拟器可以解决这样的问题。

我无法使用带有 pub 文件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 无需配置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM