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: