複数のファイルを表示する必要があります (画像、音楽、またはビデオをそれぞれ 2 つ以上、ただし 1 つのタイプのみ)。一連のサムネイルまたはファイル名を指定すると、ユーザーはチェックボックスを選択して選択内容をプレビューできる必要があります。ユーザーが複数の画像を選択した場合、選択した画像のみを表示できるようにしたいと考えています。彼が複数の mp3 ファイルを選択した場合、それらの曲だけを再生できるようにしたいと考えています。
ユーザーがファイルを 1 つだけ選択する場合は、次のように簡単に実行できます。
Intent i = new Intent(Intent.ACTION_VIEW);
if (someType == IMAGE) {
i.setDataAndType(Uri.fromFile(imageFile),"image/*");
}
else
if (sometype == VIDEO) {
i.setDataAndType(Uri.fromFile(videoFile),"video/mp4");
}
else if (someType == MUSIC) {
i.setDataAndType(Uri.fromFile(musicFile),"audio/mpeg");
}
startActivity(i);
ただし、ユーザーが 1 つのタイプを 2 つ以上選択した場合、ユーザーがインストールした可能性のある画像/オーディオ/ビデオ アプリを使用する意図をどのように設計すればよいでしょうか? 既存のアプリでこれを実行できることがわかっているため、カスタム プレーヤー/ビューアーを作成したくありません。
「AllShare Play」( https://www.samsung.com/us/2012-allshare-play/ ) というクラウド アプリの機能を模倣しようとしています。このアプリは、私がアプリで行う必要があることを正確に実行します。ユーザーは複数のファイルを「プレビュー」でき、画像には標準の「ギャラリー」アプリ、曲には標準の音楽アプリなどを使用できます。それぞれの場合、選択されたファイルのみ各 Android デバイスに搭載されている標準アプリを使用して表示または再生されるため、ビューアーやプレーヤーを作成しなくても実行できることがわかっています。
Intent.ACTION_VIEW を介して複数のファイルを外部アプリに送信する方法を知っている人はいますか?