【Flutter】ブラウザでURLを開く【url_launcher】

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【Flutter】ブラウザでURLを開く【url_launcher】

2024-3-29 | ,

Flutterのパッケージurl_launcherを使って指定したURLをブラウザで開きたい!

概要

今回の記事では、Flutterのパッケージurl_launcherを使って指定したURLをブラウザで開く手順を掲載する。

仕様書

環境

  • Android Studio Giraffe | 2023.2.1 Patch 2
  • Flutter 3.19.6
  • url_launcher 6.2.6

手順書

インストール編とコード編の2部構成です。

インストール編

ターミナルでコマンドを実行するか

flutter pub add url_launcher

pubspec.yamldependencies:に下記のような感じで追加して

dependencies:
  url_launcher: ^6.2.6

ターミナルでflutter pub getする。

flutter pub get

コード編

ボタンをタップするとブラウザでAmazonを開く例。

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

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        body: const UrlLauncherSample1()
      )
    )
  );
}

class UrlLauncherSample1 extends StatelessWidget {
  const UrlLauncherSample1({super.key});

  Future<void> openBrowser() async {
    final url = Uri.parse('https://www.amazon.co.jp');

    if (!await launchUrl(
      url,
      mode: LaunchMode.externalApplication,
    )) {
      throw Exception('Could not launch $url');
    }
  }

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Center(
        child: SizedBox(
          width: double.infinity,
          child: TextButton(
            style: TextButton.styleFrom(
              backgroundColor: Colors.blue,
              shape: const RoundedRectangleBorder(
                borderRadius: BorderRadius.all(Radius.circular(4)),
              ),
              padding: const EdgeInsets.fromLTRB(16, 0, 16, 0),
            ),
            onPressed: openBrowser,
            child: const Padding(
              padding: EdgeInsets.fromLTRB(0, 0, 0, 0),
              child: Text("ブラウザでAmazonを開く",
                  style: TextStyle(fontSize: 16.0, color: Colors.white)),
            ),
          ),
        ),
      ),
    );
  }
}

まとめ(感想文)

アプリケーションのポリシーを表示するのにとか使えるとか使えないとか!

参考文献・引用

下記のサイトを参考にさせていただきました。ありがとうございました。