2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Flutter】LINEを起動してメッセージを送る

Posted at

はじめに

LINEでメッセージを送る機能をFlutterアプリに追加したいと思ったが、最新の情報が少なかったので投稿日(2024/3/3)時点でうまくいった方法をメモ。

url_launcherを入れる

pubspec.yamlにurl_launcherを追加

dependencies:
  url_launcher: ^6.2.5

ボタン作成

それっぽいボタンを作成

ElevatedButton.icon(  
    onPressed: () {},  
    style: ElevatedButton.styleFrom(  
      backgroundColor: Colors.green,  
      foregroundColor: Colors.white,  
    ),  
    icon: const Icon(Icons.messenger_rounded, color: Colors.white,),  
    label: const Text('LINE', style: TextStyle(fontWeight: FontWeight.bold),)  
)

url_launcherの処理を作成

static Future<void> launchLineMessage(String url) async {  
  final uri = Uri.parse(url);  
  if (await canLaunchUrl(uri)) {  
    await launchUrl(
    uri,
    mode: LaunchMode.externalApplication
    );  
  } else {  
    print('URL起動エラー');  
  }  
}
  • URLをuriに変換
  • canLaunchUrlでそのuriが使用可能かチェック
  • 上記がtrueだったら起動。

LINE のURL スキームを準備

LINE Developers からテキストメッセージを送るURLスキームを持ってくる。

final String lineUrl = 'https://line.me/R/share?text={text_message}';

上記のURLスキームで送信先を選択画面を開く。{text_message}に設定されたテキストメッセージを送信できる。

Buttonに処理を追加

作成したLINEっぽいボタンに処理を追加する。

ElevatedButton.icon(  
    onPressed: () {  
    //   送りたいメッセージを追加  
      final String addTextUrl = '$lineUrlこれはテスト';  
    //   LINEの処理を追加  
      launchLineMessage (addTextUrl);  
    },  
    style: ElevatedButton.styleFrom(  
      backgroundColor: Colors.green,  
      foregroundColor: Colors.white,  
    ),  
    icon: const Icon(Icons.messenger_rounded, color: Colors.white,),  
    label: const Text('LINE', style: TextStyle(fontWeight: FontWeight.bold),)  
)

成功

IMG_EA433A932FD7-1.jpeg

参考
https://flutter.keicode.com/basics/urllauncher.php
https://zenn.dev/gahaku200/articles/81a531f28e4701
ありがとうございます。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?