概要
共有(シェア)機能を実装するために試行錯誤した結果、採用した方法を記します。
結論
esys_flutter_share
を使って簡単に実装できました。
ちなみに他に試したのは下記です。
- Platform Channelsを使ってネイティブのコードに処理を委譲(外部アプリを起動)する。
- shareプラグイン(画像のシェアができず断念)
設定
pubspec.yaml
dependencies:
esys_flutter_share: [version]
※flutter pub get
を忘れずに
コード
impportして
.dart
import 'package:esys_flutter_share/esys_flutter_share.dart';
この2行だけで終わり!
.dart
final ByteData bytes = await rootBundle.load('assets/image.png');
await Share.file('タイトル', 'ファイル名', bytes.buffer.asUint8List(), 'image/png', text: '本文');
複数ファイルのシェアやHTTP経由で取得した画像のシェアも簡単にできるようです。