Android → Работа с файловой системой.Получение всех сторэйджс

Получение всех сторэйджс(мой способ):



Мой способ основывается на вырезании путей к хранилищам возвращаемым методом:

static File[] ContextCompat.getExternalFilesDirs(@NonNull Context context, @Nullable String type)


Вот способ


data class StorageInfo(val path: String, val name: String, val number: Int)

fun getStorageList(context: Context): List<StorageInfo> {
val list = mutableListOf<StorageInfo>()
ContextCompat.getExternalFilesDirs(context, null)
.forEachIndexed { index, file ->
val path = processStorage(context, file)
val name = path.substringAfterLast('/')
list.add(StorageInfo(path, name, index + 1))
}

return list
}

private fun processStorage(context: Context, file: File): String {
return file.path.replace("/Android/data/" + context.packageName + "/files", "")
}

Добавил: javavirys ( 2021-12-22 01:33:25 )
Рейтинг: + 2 -
Просмотров: 196

Специальные предложения