次のメソッドを使用して、MediaStore ライブラリから曲を選択し、その uri を起動アクティビティに返すことを可能にするアクティビティを起動しています。
public void selectMedia()
{
Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Audio.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, REQUEST_MEDIA);
}
表示されるリストをフィルタリングして、アラームや着信音が含まれないようにする方法を探していました。解決策が見つからなかったので、メディア ファイルがあるべき「ルート ディレクトリ」を指定する方法を探し始めました。
私が見つけたのは、MediaStore を ContentProvider として特定の結果に対してクエリを実行し、その結果をカスタム ListView に表示する方法に関する、はるかに複雑な例だけです。
これが私がやろうとしていることを達成する唯一の方法なのか、それともインテントで追加情報を渡すことで解決できるのか、答えを見つけたいと思っています。