こんにちは!本記事では、flutterで作成したアプリからメールを起動したり、特定のリンクに飛んだりする方法について、url_launcherというパッケージを用いて説明します。
目次
パッケージのインストール
今回はurl_launcherを使用します。
ターミナルで、flutter pub add url_launcher
→flutter pub get
を実行してください。
パッケージのインストール方法がわからない方はこちら↓
実装手順
メーラーを起動する場合と、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();
},
参考記事
[Flutter]外部リンク(Webブラウザ、メール)で開く方法
はじめにアプリを作成していると自身のウェブサイトやプライバシーポリシー等に遷移させたかったり、お問い合わせのメールを作成したい時があります。そこで今回は外部リン...
Flutterでメールアプリや電話アプリを開く - Qiita
先日、所属の会社でLT会があったときの発表内容です。やりたいことFlutterアプリからメールアプリや電話アプリに遷移したいです。その際に任意のメールアドレスやタイトル...
コメント