Как удалить аудиофайл на Android 11

#java #android #scoped-storage

Вопрос:

Я переношу свое приложение, чтобы настроить его на Android 11. Я загружаю файл и сохраняю его в папку: « Donwnload » через MediaStore

 contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, fileName);
contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
contentValues.put(
MediaStore.Audio.Media.RELATIVE_PATH, Environment.DIRECTORY_DOWNLOADS );
uri = resolver.insert(MediaStore.Files.getContentUri("external"), contentValues);
 

Однако при повторной загрузке файла он должен удалить старый и загрузить новый.

В прошлом он использовал следующий код:

 if (file.exists ())
file.delete ();
 

Но теперь с Android 11 я не могу этого сделать, и каждый раз, когда я загружаю файл, он добавляет его в конец файла (1), (2), (3) и так далее

Есть ли способ удалить файл или заменить его?

Комментарии:

1. Я уже говорил вам снова использовать этот uri для перезаписи файла. Почему ты спрашиваешь снова … в третий раз о … Я не могу оценить, что вы удалили два поста и мои комментарии.

2. Этот Uri не перезаписывает его, добавляя значение, подобное этому, в конце расширения файла: ‘name_file.mp3(1)’

3. Нет. Это не так. Тогда ты сделал что-то не так. Но поскольку вы не показываете код, мы не знаем, что именно.