こんにちは!
本記事では、右の動画のように、シェアボタンを押すことでSNSなどにシェアする機能を呼び出す手順を説明します。
シェアする機能に必要なパッケージはShareというパッケージです。
目次
パッケージをインストール
ターミナルで、flutter pub add share
→flutter pub get
を打ってください。パッケージのインストールがよく分からない方は以下の記事をご覧ください。
あわせて読みたい
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://www.mechengjp.com/wp-content/uploads/2022/02/d7eb7c5c19c06936a91a655bd1ada043-300x169.jpg)
【Flutter】パッケージをインストール/アンインストールする方法について~コマンドと一緒に紹介
パッケージとは、Widgetをまとめたものです。目的に沿ったパッケージを導入することで完成されたWidgetを使って簡単に開発ができるため、手間が大幅に短縮されます。 本...
実装方法
テキストのみをシェアする場合
下記のように、Share.share
を使用します。
return Scaffold(
appBar: AppBar(
title: Text("test"),
actions: [
icon: Icon(Icons.share),
onPressed: (){
Share.share('シェアしたい文');
},
],
),
);
スクリーンショットをシェアしたいとき
スクリーンショットをシェアしたいときは、少し複雑になります。追加で以下の三つのパッケージが必要になります。
share_plus, screenshot, path_provider
下記をインポートします。
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:path_provider/path_provider.dart';
import 'package:screenshot/screenshot.dart';
import 'package:share_plus/share_plus.dart';
以下のコードでは、スクリーンショットを保存して、保存した画像を指定してシェアしています。
final _screenShotController = ScreenshotController();
...
return Scaffold(
appBar: AppBar(
title: Text("test"),
actions: [TextButton(
onPressed: () async {
const _shareText = 'シェアしたい文章...';
final _screenshot = await _screenShotController.capture(delay: const Duration(milliseconds: 10));
if (_screenshot != null) {
final _documentDirectoryPath = await getApplicationDocumentsDirectory();
final imagePath = await File('${_documentDirectoryPath.path}/screenshot.png').create();
await imagePath.writeAsBytes(_screenshot);
await Share.shareFiles([imagePath.path], text: _shareText);
}
},
)],
),
);
参考記事
Qiita
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgwJTkwRmx1dHRlciVFMyU4MCU5MSVFMyU4MiVCOSVFMyU4MiVBRiVFMyU4MyVBQSVFMyU4MyVCQyVFMyU4MyVCMyVFMyU4MiVCNyVFMyU4MyVBNyVFMyU4MyU4MyVFMyU4MyU4OCVFMyU4MiU5MlNOUyVFMyU4MSVBQiVFMyU4MiVCNyVFMyU4MiVBNyVFMyU4MiVBMiVFMyU4MSU5OSVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9NDkxOTEzMmZlMDk2ZWZjMTE3MWVmYzU4NjhkYzRkZjY&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBzYWthdGVjaC1qcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZjY2NzgzZDU4ODhmNGMxY2U2ZDRiYWMwNWUxNTNiOTQ&blend-x=142&blend-y=486&blend-mode=normal&s=fa49c56664bb2532583e26b301c54c7d)
【Flutter】スクリーンショットをSNSにシェアする - Qiita
概要Flutterで作成したアプリにシェア機能を実装した際の備忘録です。3つのパッケージを利用することで、簡単に任意のWidgetのスクリーンショットを添付してSNSなどへシェ...
Qiita
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9Rmx1dHRlciVFMyU4MSVBNyVFMyU4MiVCNyVFMyU4MiVBNyVFMyU4MiVBMiVFNiVBOSU5RiVFOCU4MyVCRCVFMyU4MiU5MiVFNiU4QyU4MSVFMyU4MSVBMyVFMyU4MSU5RiVFMyU4MiVBMiVFMyU4MyU5NyVFMyU4MyVBQSVFMyU4MiU5MiVFNCVCRCU5QyVFNiU4OCU5MCVFMyU4MSU5OSVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9MWI2MTAzMjZlNDllNjI2ZThkMjM5YWZkNmU1MDc3YzI&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB5YXNzOTcmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWM0OWY4NjE4NmU5YmViOGI4Mjg4YjFlNzVlM2Q5ZDBi&blend-x=142&blend-y=486&blend-mode=normal&s=fe7e0906e4a511e51135abe97bd70800)
Flutterでシェア機能を持ったアプリを作成する - Qiita
こんな感じのテキストをシェアするアプリを作ります(これはアプリと言っていいのか...?w)シェアする機能を使うために、share というライブラリを使います。pubspec.yaml...
コメント