Android: Перечислите собственные файлы приложения не работают на Android 11+Android

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

Сообщение Anonymous »

Я храню MP3, MP4, JPG и собственное формат APP в DIR приложения и использую следующий кусок кода, чтобы очистить эти файлы TMP после их использования: < /p>
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()
}
}
}
< /code>
Он работал отлично до тех пор, пока я не обновил «compilesdk» с 29 до 35 в build.gradle (для поддержки новейших устройств), теперь списки файлы он получает только папки, а не файлы. Пробовал с Filesdir также безрезультатно, поэтому я застрял. /> Изменить 1: пропуск rootfolder и переходить непосредственно к контексту.cachedir.listfiles ()
Точно так и происходит, см. Только папки.>

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

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

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

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

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

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