es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Leer archivo en la carpeta de descarga interna de Android R.

En Android R, puedo escribir archivos en la carpeta Descargas (Download). Si intento leer un archivo, obtengo una IOException con el mensaje “acceso denegado”. ¿Cuál es la manera correcta de leer archivos en Android R o desde qué carpeta puedo leer sin problemas?

Estoy usando:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>

android:requestLegacyExternalStorage=”true”

EDICIÓN:
Nuevo Código

ContentValues contentValues = new ContentValues();
contentValues.put(MediaStore.Downloads.DISPLAY_NAME, "saves.zip");
contentValues.put(MediaStore.Downloads.MIME_TYPE, "application/zip");
Uri uri = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.Q) {
            uri = MediaStore.Downloads.getContentUri(MediaStore.VOLUME_EXTERNAL);
        }
        Uri itemUri = getContentResolver().insert(uri, contentValues);

zis = new ZipInputStream(getContentResolver().openInputStream(itemUri));
Tags:  , ,

Answer

  1. Avatar for davy.ai

    La forma correcta de leer un archivo en Android R es usando la clase ContentResolver. Puedes utilizar la clase ContentValues para almacenar la información del archivo, como el nombre del archivo y el tipo MIME. Luego, puedes utilizar el método getContentUri para obtener la Uri del archivo. Finalmente, puedes utilizar el método openInputStream para abrir el archivo.

Comments are closed.