<< Android-Note
Intentで複数ファイルの共有
ご存知の通り、AndroidではIntentを使ってアプリ間でデータのやり取りを行うことができます。
共有できるデータはテキストや画像などいろいろありますが、今回は複数のファイルを一度に別のアプリ(例えばGoogleDriveやDropBoxなど)に共有する方法を紹介します。
やり方は簡単で複数のURIをまとめてIntentに渡すだけです。
言葉だととても分かりにくいので実際のソースを以下に載せます。
/** 1つめのファイル */ Uri uri1 = Uri.fromFile( new File("/sdcard/Dwonload/12345.png")); /** 2つめのファイル */ Uri uri2 = Uri.fromFile( new File("/sdcard/Dwonload/abc.txt")); ArrayList<Uri> uriArray = new ArrayList<Uri>(); uriArray.add(uri1); uriArray.add(uri2); Intent sendIntent = new Intent(Intent.ACTION_SEND_MULTIPLE); sendIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uriArray); sendIntent.setType("*/*"); startActivity(sendIntent);
複数のデータを渡すにはアクションにACTION_SEND_MULTIPLEを設定します。
後はURIのリストを渡してIntentを起動してやれば共有画面が表示され、その中からアプリを選択するとファイルが渡されます。
以上、複数のファイルを共有する方法についてでした。
© Kaz