6

Android用のシンプルなMP3ダウンローダーを作成しようとしています。URL に接続し、トラックをダウンロードし、名前に基づいて ID3 情報を推測するだけです。私のアプリケーションの問題は、曲をダウンロードしても、すぐに Google ミュージック アプリやデフォルトの音楽プレーヤー アプリケーションに表示されないことです。運が悪かったので、他のものもいくつか試しましたが、それらはすべてインデックスを再作成しません。

私が気付いた唯一のことは、SD カードのミュージック フォルダから SD カードのルートに曲をコピー/移動したときに、ライブラリ全体が適切に再インデックスされたことです。これにより、ファイルリスナーに警告していない可能性があるという考えが得られました。

私の質問は、曲をミュージック フォルダに保存し、ミュージック プレーヤーにインデックスを更新させるにはどうすればよいかということです。前もって感謝します。

4

1 に答える 1

6

MediaScanner新しいファイルが追加されたことを に通知し、インデックスを作成して に表示されるようにする必要がありますMediaStore

最も簡単な方法は、ファイルがダウンロードされたらブロードキャストを送信することです。

Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(file));
sendBroadcast(intent);

http://developer.android.com/reference/android/content/Intent.html#ACTION_MEDIA_SCANNER_SCAN_FILE

「他の音楽プレーヤー」が MediaStore を使用することを前提としていますが、そうするのは良い賭けです。

于 2013-06-30T15:00:49.003 に答える