flutter - 如何从我的 Flutter 代码中打开 Web 浏览器 (URL)?

我正在构建一个 Flutter 应用程序,我想在 Web 浏览器或浏览器窗口中打开一个 URL(以响应按钮点击)。我该怎么做?

最佳答案

TL;DR

现在实现为 Plugin

const url = "https://flutter.io";
if (await canLaunchUrl(url))
  await launchUrl(url);
else 
  // can't launch url, there is some error
  throw "Could not launch $url";

完整示例:

import 'package:flutter/material.dart';
import 'package:url_launcher/url_launcher.dart';

void main() {
  runApp(new Scaffold(
    body: new Center(
      child: new RaisedButton(
        onPressed: _launchURL,
        child: new Text('Show Flutter homepage'),
      ),
    ),
  ));
}

_launchURL() async {
  const url = 'https://flutter.io';
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw 'Could not launch $url';
  }
}

在 pubspec.yaml 中

dependencies:
  url_launcher: ^5.7.10

特殊字符:

如果 url 值包含现在在 URL 中允许的空格或其他值,请使用

Uri.encodeFull(urlString)Uri.encodeComponent(urlString) 并传递结果值。

https://stackoverflow.com/questions/43149055/

相关文章:

flutter - 如何在 Flutter 中以编程方式显示/隐藏小部件

flutter - 等待另一个flutter命令释放启动锁

android - 如何使用 Flutter 更改应用显示名称构建?

android-studio - 未找到 flutter 命令

dart - 如何在段落中加粗(或格式化)一段文本?

android - 即使屏幕关闭,如何在后台运行代码?

dart - Flutter 移除所有路由

firebase - 类型 'List' 不是类型 'List'

dart - 具有透明背景的 flutter 角半径

dart - Flutter中Column的 child 之间的空间