【flutter】メール送信やurlを開く機能を実装する方法 ~url_launcher~

  • URLをコピーしました!

こんにちは!本記事では、flutterで作成したアプリからメールを起動したり、特定のリンクに飛んだりする方法について、url_launcherというパッケージを用いて説明します。

目次

パッケージのインストール

今回はurl_launcherを使用します。

ターミナルで、flutter pub add url_launcherflutter pub getを実行してください。

パッケージのインストール方法がわからない方はこちら↓

あわせて読みたい
【Flutter】パッケージをインストール/アンインストールする方法について~コマンドと一緒に紹介 パッケージとは、Widgetをまとめたものです。目的に沿ったパッケージを導入することで完成されたWidgetを使って簡単に開発ができるため、手間が大幅に短縮されます。 本...

実装手順

メーラーを起動する場合と、URLを立ち上げる場合、それぞれのコードを記載します。

メーラー起動

メーラーを起動する場合は、起動するClass内dえ下記変数を宣言します。openMailApp()内でlaunchMail()が使われています。メールの本文とタイトルをリンクにして立ち上げるイメージです。

  void openMailApp() async {
    final title = Uri.encodeComponent('メールの件名');
    final body = Uri.encodeComponent('メール本文');
    const mailAddress = 'molaworker.swift@gmail.com';//メールアドレス

    return launchMail(
      'mailto:$mailAddress?subject=$title&body=$body',
    );
  }

  Future<void> launchMail(String url) async {
    if (await canLaunch(url)) {
      await launch(url);
    } else {
      final Error error = ArgumentError('Error launching $url');
      throw error;
    }
  }

ボタンに埋め込む際は,onPressedで宣言すればOKです。

            onPressed: (){
                  openMailApp();
            },

URL立ち上げ

URL立ち上げる際はもっとシンプルです。立ち上げたいリンクをurlとして宣言して、launch(url)を打てばok。

  Future<void> launchUrl() async {
    final url = "https://www.mechengjp.com/";
    if (await canLaunch(url)) {
      await launch(url);
    } else {
      final Error error = ArgumentError('Error launching $url');
      throw error;
    }
  }

ボタン内で使うときはこんな感じ

              onPressed: (){
                launchUrl();
              },

参考記事

nobushiueshi
[Flutter]外部リンク(Webブラウザ、メール)で開く方法 はじめに アプリを作成していると自身のウェブサイトやプライバシーポリシー等に遷移させたかったり、お問い合わせのメールを作成したい時があります。 そこで今回は外部リ...
Qiita
Flutterでメールアプリや電話アプリを開く - Qiita 先日、所属の会社でLT会があったときの発表内容です。やりたいことFlutterアプリからメールアプリや電話アプリに遷移したいです。その際に任意のメールアドレスやタイトル...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次