最新のコアミュージックアプリのAndroidManifest.xmlファイルを見ると、使用しているオプションに光が当てられる場合があります。例えば:
<activity android:name="com.android.music.MusicPicker"
android:label="@string/music_picker_title" android:exported="true" >
<!-- First way to invoke us: someone asks to get content of
any of the audio types we support. -->
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.OPENABLE" />
<data android:mimeType="audio/*"/>
<data android:mimeType="application/ogg"/>
<data android:mimeType="application/x-ogg"/>
</intent-filter>
<!-- Second way to invoke us: someone asks to pick an item from
some media Uri. -->
<intent-filter>
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.OPENABLE" />
<data android:mimeType="vnd.android.cursor.dir/audio"/>
</intent-filter>
</activity>
だからこれに基づいて、あなたは最初に試すかもしれません
final Intent intent2 = new Intent(Intent.ACTION_GET_CONTENT);
intent2.setType("audio/*");
startActivityForResult(intent2, 1);
それがあなたのニーズに合っているかどうかを確認してください。上記の例で示したカテゴリフラグを追加して、結果を絞り込むこともできます(たとえばOPENABLE
、ストリームとして開くことができるコンテンツのみにフィルタリングする必要があります。