2013-06-30 9 views
6

Ho cercato di creare un semplice downloader MP3 per Android. Tutto ciò che fa è collegarsi all'URL, scaricare la traccia e indovinare le informazioni ID3 in base al nome. Il problema con la mia applicazione è che una volta scaricato un brano, questo non viene immediatamente visualizzato nell'app Google Music, né nell'applicazione predefinita per i lettori musicali. Ne ho provati anche altri senza fortuna, non tutti li reindirizzano.Il lettore musicale Android non viene reindicizzato dopo l'aggiunta del brano

L'unica cosa che ho notato è che quando ho copiato/spostato il brano dalla cartella Musica sulla mia scheda SD alla radice della scheda SD, ha reindicizzato correttamente l'intera libreria. Questo mi ha dato l'idea che potrebbe non avvertire alcun ascoltatore di file.

La mia domanda è: come potrei salvare un brano nella cartella Musica e far sì che i musicisti aggiornino i loro indici? Grazie in anticipo.

risposta

6

È necessario notificare allo MediaScanner che è stato aggiunto un nuovo file che deve essere indicizzato in modo che venga visualizzato nello MediaStore.

Il modo più semplice è quello di inviare una trasmissione una volta che il file è stato scaricato:

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

Il assume gli "altri lettori di musica" Usa il MediaStore, ma è una buona scommessa che essi fare.

+0

Questa è una risposta molto utile! Grazie, darò un feedback su come andrà a finire. Grazie! –

+0

Grazie mille! Questo esempio ha funzionato come un incantesimo, tutti i lettori multimediali presi di mira hanno aggiornato i loro indici come dovrebbero. Se avessi 15 rep, avresti anche un upvote. –

+0

Haha nessun problema grazie - felice ha funzionato :) –

Problemi correlati