Flutterのパッケージshare_plusのShare.shareFilesが非推奨なのでShare.shareXFilesに変更

<今回の環境>
Flutter version 3.10.6
share_plus: 7.0.2
Android 10

Flutterのパッケージshare_plusのShare.shareFilesが非推奨ということで、vscodeから注意される。

下記の記事によると2022年11月3日よりバージョン 4.5.0 以降ではshareFiles()が非推奨になり、代わりにshareXFiles()が導入されたとのこと。

小ネタ/Flutter で share_plus を使って共有機能を実装する

とりあえず、Share.shareFilesが非推奨なのでShare.shareXFilesを使ってくださいよってことらしい。


final File imageFile = await File('${dir.path}/image.png').writeAsBytes(response.data);
await Share.shareFiles([file]);

処理の内容としてはローカルのテンポラリーに画像データを一時保存し、それをshare_plusでシャアできるようにする機能。

変数imageFileをXFile型に変更すればいいのかな、と思ったのですが、XFilesはwriteAsBytesの機能が廃止されているみたいなのでwriteAsBytesまではFileで処理してシェアするのはXFile型の変数を別途用意して賄う方針にしました。


final File imageFile = await File('${dir.path}/image.png').writeAsBytes(response.data);
XFile file = XFile(imageFile.path);
await Share.shareXFiles([file]);

こんな感じでXFileを作ってあげて、shareXFilesの引数にXFileをいれたら改善します。

Write a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Close