Android: список собственных файлов моего приложения не работает на Android 11+Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android: список собственных файлов моего приложения не работает на Android 11+

Сообщение Anonymous »

Я сохраняю mp3, mp4, jpg и собственный формат aw приложения в каталоге кэша приложения и использую следующий фрагмент кода для очистки этих tmp-файлов после их использования:

Код: Выделить всё

private fun deleteTmp() {
val rootFolder = File(context.cacheDir.absolutePath)
val mp4 = ".*\\.mp4"
val mp3 = ".*\\.mp3"
val jpg = ".*\\.jpg"
val gif = ".*\\.gif"
val aw = ".*\\.aw"
val folder = File("$rootFolder/")
val files = folder.listFiles { _, name ->
(name.matches(mp4.toRegex()) || name.matches(mp3.toRegex())
|| name.matches(jpg.toRegex()) || name.matches(gif.toRegex()) || name.matches(aw.toRegex()))
}
if (files != null) {
for (file in files) {
file.delete()
}
}
}
Он работал отлично, пока я не обновил «compileSdk» с 29 до 35 в build.gradle (для поддержки новейших устройств), теперь listFiles получает только папки, а не файлы.
Насколько я знаю, вам не нужны разрешения для вывода списка собственных файлов вашего приложения, на самом деле это файлы, которые я создал сам, так в чем же проблема?
Я пробовал с filesDir тоже безрезультатно, поэтому я застрял.
Мне определенно не хотелось бы в своей деятельности повторять утомительную задачу запроса разрешений у пользователя, также считаю бессмысленным спрашивать пользователю разрешения на удаление файлов tmp, которые я создал сам, фактически внутренний процесс этого приложения должен быть прозрачным для пользователя.
Любая помощь?

Подробнее здесь: https://stackoverflow.com/questions/792 ... android-11
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»