Cómo compartir archivos

A menudo, las apps necesitan ofrecer uno o más de sus archivos a otra app. Por ejemplo, una galería de imágenes puede ofrecer archivos a editores de imágenes, o una app de administración de archivos puede permitir que los usuarios copien y peguen archivos entre áreas en el almacenamiento externo. Una forma 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 a la app receptora el URI de contenido del archivo 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 vencen automáticamente. El componente FileProvider de Android proporciona el método getUriForFile() para generar el URI de contenido de un archivo.

Si quieres compartir pequeñas cantidades de datos de texto o numéricos entre apps, debes enviar un objeto Intent que contenga los datos. Para aprender a enviar datos simples con un Intent, consulta la clase de capacitación Cómo compartir datos simples.

En esta clase, se explica cómo compartir de forma segura 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. Para ello, genera un URI de contenido para el archivo, otorga permisos de acceso al URI y envía 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 de contenido para abrir el archivo.
Cómo recuperar información de archivos
Obtén información sobre cómo una app puede usar un URI de contenido generado por un FileProvider para recuperar información del archivo, como el tipo de MIME y el tamaño del archivo.

Para obtener información adicional relacionada, consulta: