Cómo compartir archivos

A menudo, las apps necesitan ofrecer uno o más de sus archivos a otra aplicación. Por ejemplo, es posible que una galería de imágenes ofrezca archivos a editores de imágenes, o bien que una app de administración de archivos permita que los usuarios copien y peguen archivos entre áreas del almacenamiento externo. Una de las formas en que una app emisora puede compartir un archivo es responder a una solicitud de la app receptora.

En todos los casos, la única forma segura de ofrecer un archivo de tu app a otra es enviar el URI de contenido del archivo a la app receptora y otorgar permisos de acceso temporales a ese URI. Los URI de contenido con permisos de acceso temporales son seguros porque se aplican solo a la app que recibe el URI y caducan automáticamente. El componente FileProvider de Android proporciona el método getUriForFile() para generar el URI de contenido de un archivo.

Si deseas compartir pequeñas cantidades de texto o datos numéricos entre apps, debes enviar un Intent que contenga los datos. Para obtener información sobre cómo enviar datos simples con un Intent, consulta la clase de capacitación Cómo compartir datos simples.

En esta clase, se explica cómo puedes compartir de manera segura los archivos de tu app con otra utilizando los URI de contenido que genera el componente FileProvider de Android, y los permisos temporales que otorgas a la app receptora para el URI de contenido.

Lecciones

Cómo configurar el uso compartido de archivos
Obtén información sobre cómo configurar tu app para compartir archivos.
Cómo compartir un archivo
Obtén información sobre cómo ofrecer un archivo a otra app generando un URI de contenido, otorgando permisos de acceso al URI y enviando el URI a la app.
Cómo solicitar un archivo compartido
Obtén información sobre cómo solicitar un archivo compartido por otra app, recibir el URI de contenido para el archivo y usar el URI a fin de abrir el archivo.
Cómo recuperar información de archivos
Obtén información sobre la forma en que una app puede usar un URI de contenido generado por un FileProvider para recuperar información del archivo, como su tamaño y el tipo de MIME.

Para obtener información adicional relacionada, consulta lo siguiente: