こんにちは!本記事では、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アプリからメールアプリや電話アプリに遷移したいです。その際に任意のメールアドレスやタイトル...
コメント