Condivisione di file
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Spesso le app hanno la necessità di offrire uno o più file a un'altra app. Ad esempio, una galleria di immagini potrebbe voler offrire file agli editor di immagini oppure un'app di gestione file potrebbe consentire agli utenti di copiare e incollare file tra aree di archiviazione esterna. Un modo in cui un'app di invio può condividere un file è rispondere a una richiesta dell'app ricevente.
In tutti i casi, l'unico modo sicuro per offrire un file della tua app a un'altra app è inviare all'app ricevente l'URI dei contenuti del file e concedere autorizzazioni di accesso temporanee a quell'URI.
Gli URI dei contenuti con autorizzazioni di accesso temporanee all'URI sono sicuri perché si applicano solo all'app che riceve l'URI e scadono automaticamente. Il componente FileProvider
di Android fornisce il metodo getUriForFile()
per generare l'URI dei contenuti di un file.
Se vuoi condividere piccole quantità di dati di testo o numerici tra app, devi inviare un
Intent
che contenga i dati. Per informazioni su come inviare dati semplici con un
Intent
, consulta il corso di formazione
Condivisione di dati semplici.
Questo corso spiega come condividere in modo sicuro i file dalla tua app a un'altra app utilizzando gli URI dei contenuti generati dal componente FileProvider
di Android e le autorizzazioni temporanee concesse all'app di destinazione per l'URI dei contenuti.
Lezioni
- Configurazione della condivisione file
-
Scopri come configurare la tua app per la condivisione di file.
- Condividere un file
-
Scopri come offrire un file a un'altra app generando un URI dei contenuti per il file, concedendo le autorizzazioni di accesso all'URI e inviando l'URI all'app.
- Richiedere un file condiviso
-
Scopri come richiedere un file condiviso da un'altra app, ricevere l'URI dei contenuti del file
e utilizzare l'URI dei contenuti per aprire il file.
-
Recupero delle informazioni dei file
-
Scopri come un'app può utilizzare un URI dei contenuti generato da un
FileProvider
per recuperare le informazioni sui file, inclusi
il tipo MIME e le dimensioni del file.
Per ulteriori informazioni correlate, consulta:
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-27 UTC."],[],[],null,["# Sharing files\n\nApps often have a need to offer one or more of their files to another app. For example, an image\ngallery may want to offer files to image editors, or a file management app may want to allow\nusers to copy and paste files between areas in external storage. One way a sending app can\nshare a file is to respond to a request from the receiving app.\n\n\nIn all cases, the only secure way to offer a file from your app to another app is to send the\nreceiving app the file's content URI and grant temporary access permissions to that URI.\nContent URIs with temporary URI access permissions are secure because they apply only to the\napp that receives the URI, and they expire automatically. The Android\n[FileProvider](/reference/androidx/core/content/FileProvider) component provides the method\n[getUriForFile()](/reference/androidx/core/content/FileProvider#getUriForFile(android.content.Context, java.lang.String, java.io.File)) for\ngenerating a file's content URI.\n\n\nIf you want to share small amounts of text or numeric data between apps, you should send an\n[Intent](/reference/android/content/Intent) that contains the data. To learn how to send simple data with an\n[Intent](/reference/android/content/Intent), see the training class\n[Sharing simple data](/training/sharing).\n\n\nThis class explains how to securely share files from your app to another app using content URIs\ngenerated by the Android [FileProvider](/reference/androidx/core/content/FileProvider) component and\ntemporary permissions that you grant to the receiving app for the content URI.\n\nLessons\n-------\n\n**[Setting up file sharing](/training/secure-file-sharing/setup-sharing)**\n:\n Learn how to set up your app to share files.\n\n**[Sharing a file](/training/secure-file-sharing/share-file)**\n:\n Learn how to offer a file to another app by generating a content URI for the file,\n granting access permissions to the URI, and sending the URI to the app.\n\n**[Requesting a shared file](/training/secure-file-sharing/request-file)**\n:\n Learn how to request a file shared by another app, receive the content URI for the file,\n and use the content URI to open the file.\n\n\n**[Retrieving file information](/training/secure-file-sharing/retrieve-info)**\n:\n Learn how an app can use a content URI generated by a\n [FileProvider](/reference/androidx/core/content/FileProvider) to retrieve file information including\n MIME type and file size.\n\nFor additional related information, refer to:\n\n- [Storage Options](/guide/topics/data/data-storage)\n- [Saving Files](/training/basics/data-storage/files)\n- [Sharing Simple Data](/training/sharing)"]]