Я транслирую несколько аудиофайлов в моем приложении для Android и кэширую их на SD-карте (Environment.getExternalStorageDirectory () + "/.tmpDir") и удаляю эти файлы после завершения воспроизведения.
Проблема: аудиоплеер кэширует файлы, показывает их в плейлистах и не удаляет их, но, конечно, не может воспроизвести их, потому что они удалены.
Я много искал и пробовал все, что нашел, но ничего не получалось.
Не работает:
- добавление .nomedia в папку (кажется, работает только для изображений)
- папка, в которой хранятся аудиофайлы, начинается с "."
ручное повторное сканирование папки после удаления файла с чем-то вроде
MediaScannerConnection.scanFile(ctx,
new String[] { dir.toString() }, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.i("ExternalStorage", "Scanned " + path + ":");
Log.i("ExternalStorage", "-> uri=" + uri);
}
});