2013-06-30 19 views
6

Próbowałem stworzyć prosty downloader MP3 na Androida. Wystarczy połączyć się z adresem URL, pobrać ścieżkę i zgaduje informacje ID3 na podstawie nazwy. Problem z moją aplikacją polega na tym, że po pobraniu utworu nie pojawia się ona natychmiast w aplikacji Muzyka Google ani w domyślnej aplikacji odtwarzacza muzyki. Próbowałem nawet innych bez powodzenia, oni wszyscy nie reindeksują tego.Odtwarzacz muzyki z systemem Android nie reindeksowania po dodaniu utworu

Jedyne, co zauważyłem, to to, że kiedy skopiowałem/przeniosłem utwór z folderu Music na mojej karcie SD do katalogu głównego karty SD, to poprawnie zindeksowałem całą bibliotekę. To dało mi pomysł, że może nie ostrzegać żadnego słuchacza plików.

Moje pytanie brzmi: w jaki sposób mogę zapisać utwór w folderze Muzyka i czy odtwarzacze muzyczne aktualizują swoje indeksy? Z góry dziękuję.

Odpowiedz

6

Musisz powiadomić MediaScanner, że nowy plik został dodany i powinien zostać zindeksowany, aby był widoczny w MediaStore.

Najprostszym sposobem jest wysłanie transmisję raz plik został pobrany:

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

zakłada „inne odtwarzacze muzyczne” Korzystanie z Mediastore, ale jest to dobry zakład, że zrobić.

+0

Jest to bardzo przydatna odpowiedź! Dziękuję, dam wyrazić opinię na temat tego, jak się okazuje. Dzięki! –

+0

Dziękuję bardzo! Ten przykład zadziałał jak urok, wszystkie ukierunkowane odtwarzacze multimediów zaktualizowały swoje indeksy tak, jak powinny. Gdybym miał 15 przedstawicieli, równie dobrze miałbyś sprawę. –

+0

Haha nie ma problemu dzięki - cieszę się, że to się udało :) –

Powiązane problemy