【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をコピーしました!

コメント

コメントする

目次