Intent.ActionGetContent Field

Definition

Activity Action: Allow the user to select a particular kind of data and return it.

[Android.Runtime.Register("ACTION_GET_CONTENT")]
public const string ActionGetContent;
[<Android.Runtime.Register("ACTION_GET_CONTENT")>]
val mutable ActionGetContent : string

Field Value

Implements

Attributes

Remarks

Activity Action: Allow the user to select a particular kind of data and return it. This is different than #ACTION_PICK in that here we just say what kind of data is desired, not a URI of existing data from which the user can pick. An ACTION_GET_CONTENT could allow the user to create the data as it runs (for example taking a picture or recording a sound), let them browse over the web and download the desired data, etc.

There are two main ways to use this action: if you want a specific kind of data, such as a person contact, you set the MIME type to the kind of data you want and launch it with Context#startActivity(Intent). The system will then launch the best application to select that kind of data for you.

You may also be interested in any of a set of types of content the user can pick. For example, an e-mail application that wants to allow the user to add an attachment to an e-mail message can use this action to bring up a list of all of the types of content the user can attach.

In this case, you should wrap the GET_CONTENT intent with a chooser (through #createChooser), which will give the proper interface for the user to pick how to send your data and allow you to specify a prompt indicating what they are doing. You will usually specify a broad MIME type (such as image/* or */*), resulting in a broad range of content types the user can select from.

When using such a broad GET_CONTENT action, it is often desirable to only pick from data that can be represented as a stream. This is accomplished by requiring the #CATEGORY_OPENABLE in the Intent.

Callers can optionally specify #EXTRA_LOCAL_ONLY to request that the launched content chooser only returns results representing data that is locally available on the device. For example, if this extra is set to true then an image picker should not show any pictures that are available from a remote server but not already on the local device (thus requiring they be downloaded when opened).

If the caller can handle multiple returned items (the user performing multiple selection), then it can specify #EXTRA_ALLOW_MULTIPLE to indicate this.

Input: #getType is the desired MIME type to retrieve. Note that no URI is supplied in the intent, as there are no constraints on where the returned data originally comes from. You may also include the #CATEGORY_OPENABLE if you can only accept data that can be opened as a stream. You may use #EXTRA_LOCAL_ONLY to limit content selection to local data. You may use #EXTRA_ALLOW_MULTIPLE to allow the user to select multiple items.

Output: The URI of the item that was picked. This must be a content: URI so that any receiver can access it.

Java documentation for android.content.Intent.ACTION_GET_CONTENT.

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Applies to