Не могу удалить файл
С помощью OkHttpClient загружаю файл в директорию /storage/emulated/0/Download/.
При следующей загрузки проверяю есть ли уже такой файл. И если есть нужно его удалить.
...
public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
String string = response.body().string();
if (!string.equals("empty")) {
apk_file_path = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), APK_FILE);
if (apk_file_path.exists()) {
if (apk_file_path.delete()) {
// Досюда не доходит.
}
}
}
}
Пробовал разные варианты для удаления, но никак не выходит удалить.
Ответы (1 шт):
Автор решения: Barmaley
→ Ссылка
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) находится не в частном владении приложения, а в т.н. внешнем окружении. Прямой доступ к нему начиная с Android Q - запрещен/ограничен. Более подробно в scoped storage - просто так удалить его сложно (но можно).
Исходя из постановки задачи, я бы рекомендовал записывать файл во внутреннюю область:
File filesDir = context.getFilesDir()
Туда и писать проще и удалить можно без проблем