1. ホーム
  2. flutter

[解決済み] FlutterのコードからWebブラウザ(URL)を開くには?

2022-07-21 21:20:40

質問

Flutterアプリを作っているのですが、(ボタンタップに反応して)URLをWebブラウザやブラウザウィンドウに開きたいと思います。どうすればよいでしょうか?

どのように解決するのですか?

TL;DR

これは、現在では プラグイン

const url = "https://flutter.io";
if (await canLaunch(url))
  await launch(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) で、その結果の値を代わりに渡します。