#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. Нет. Это не так. Тогда ты сделал что-то не так. Но поскольку вы не показываете код, мы не знаем, что именно.