Я храню 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
Android: Перечислите собственные файлы приложения не работают на Android 11+ ⇐ Android
Форум для тех, кто программирует под Android
1746568264
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 также безрезультатно, поэтому я застрял. /> [b] Изменить 1: [/b] пропуск rootfolder и переходить непосредственно к контексту.cachedir.listfiles ()
Точно так и происходит, см. Только папки.>
Подробнее здесь: [url]https://stackoverflow.com/questions/79235378/android-list-my-apps-own-files-is-not-working-on-android-11[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия