Как удалить несколько изображений из внешнего хранилища в AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как удалить несколько изображений из внешнего хранилища в Android

Сообщение Anonymous »

Я разрабатываю приложение Vault, которое маскирует себя как калькулятор; Когда на клавиатуре введен секретный код, и нажата кнопка '=', страница Vault открывается. Полем URI с выбранными изображениями передается функции для копирования изображений во внутреннюю хранилище, а затем удалить их из внешнего хранилища. .delete (uri), я получаю эту ошибку, не найденную ошибку в Logcact, и изображение не удалено из внешнего хранилища < /p>
Вот полный фрагмент функции: < /p>
fun moveMediaToInternalStorage(context: Context, uris: List) {
uris.forEach { uri ->
Log.d("URI", "$uri")
try {

val inputStream = context.contentResolver.openInputStream(uri)
?: throw IOException("Unable to open input stream for URI: $uri")

val cursor = context.contentResolver.query(uri, null, null, null, null)
val displayName = cursor?.use {
if (it.moveToFirst()) it.getString(it.getColumnIndexOrThrow(OpenableColumns.DISPLAY_NAME))
else "file_${System.currentTimeMillis()}"
} ?: "file_${System.currentTimeMillis()}"

val targetFile = File(context.filesDir, displayName)

context.openFileOutput(displayName, Context.MODE_PRIVATE).use { outputStream ->
inputStream.use { input ->
input.copyTo(outputStream)
}
}

// Delete the original file from external storage after copying
context.contentResolver.delete(uri, null, null)

} catch (e: Exception) {
Log.e("InternalStorage", "Error saving file: ${e.message}", e)
}
}
}


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

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

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

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

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

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