diff options
Diffstat (limited to 'docs/html/training/secure-file-sharing/index.jd')
-rw-r--r-- | docs/html/training/secure-file-sharing/index.jd | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/docs/html/training/secure-file-sharing/index.jd b/docs/html/training/secure-file-sharing/index.jd new file mode 100644 index 0000000..19a1042 --- /dev/null +++ b/docs/html/training/secure-file-sharing/index.jd @@ -0,0 +1,80 @@ +page.title=Sharing Files + +trainingnavtop=true +startpage=true + + +@jd:body + +<div id="tb-wrapper"> +<div id="tb"> + +<h2>Dependencies and prerequisites</h2> +<ul> + <li>Android 1.6 (API Level 4) or higher</li> + <li>Familiarity with file operations such as opening, reading, and writing files</li> +</ul> + +<h2>You should also read</h2> +<ul> + <li><a href="{@docRoot}guide/topics/data/data-storage.html">Storage Options</a></li> + <li><a href="{@docRoot}training/basics/data-storage/files.html">Saving Files</a> + <li><a href="{@docRoot}training/sharing/index.html">Sharing Simple Data</a></li> +</ul> + +</div> +</div> + +<p> + Apps often have a need to offer one or more of their files to another app. For example, an image + gallery may want to offer files to image editors, or a file management app may want to allow + users to copy and paste files between areas in external storage. One way a sending app can + share a file is to respond to a request from the receiving app. +</p> +<p> + In all cases, the only secure way to offer a file from your app to another app is to send the + receiving app the file's content URI and grant temporary access permissions to that URI. + Content URIs with temporary URI access permissions are secure because they apply only to the + app that receives the URI, and they expire automatically. The Android + {@link android.support.v4.content.FileProvider} component provides the method + {@link android.support.v4.content.FileProvider#getUriForFile getUriForFile()} for + generating a file's content URI. +</p> +<p> + If you want to share small amounts of text or numeric data between apps, you should send an + {@link android.content.Intent} that contains the data. To learn how to send simple data with an + {@link android.content.Intent}, see the training class + <a href="{@docRoot}training/sharing/index.html">Sharing Simple Data</a>. +</p> +<p> + This class explains how to securely share files from your app to another app using content URIs + generated by the Android {@link android.support.v4.content.FileProvider} component and + temporary permissions that you grant to the receiving app for the content URI. +</p> +<h2>Lessons</h2> +<dl> + <dt><b><a href="setup-sharing.html">Setting Up File Sharing</a></b></dt> + <dd> + Learn how to set up your app to share files. + </dd> + <dt><b><a href="share-file.html">Sharing a File</a></b></dt> + <dd> + Learn how to offer a file to another app by generating a content URI for the file, + granting access permissions to the URI, and sending the URI to the app. + </dd> + <dt><b><a href="request-file.html">Requesting a Shared File</a></b></dt> + <dd> + Learn how to request a file shared by another app, receive the content URI for the file, + and use the content URI to open the file. + </dd> + <dt> + <b><a href="retrieve-info.html">Retrieving File Information</a></b> + </dt> + <dd> + Learn how an app can use a content URI generated by a + {@link android.support.v4.content.FileProvider} to retrieve file information including + MIME type and file size. + </dd> +</dl> + + |