Google is committed to advancing racial equity for Black communities. See how.

ActivityResultContracts.GetContent

public static class ActivityResultContracts.GetContent
extends ActivityResultContract<String, Uri>

java.lang.Object
   ↳ androidx.activity.result.contract.ActivityResultContract<java.lang.String, android.net.Uri>
     ↳ androidx.activity.result.contract.ActivityResultContracts.GetContent


An ActivityResultContract to prompt the user to pick a piece of content, receiving a content:// Uri for that content that allows you to use ContentResolver.openInputStream(Uri) to access the raw data. By default, this adds Intent.CATEGORY_OPENABLE to only return content that can be represented as a stream.

The input is the mime type to filter by, e.g. image/*.

This can be extended to override ActivityResultContract.createIntent(Context, I) if you wish to pass additional extras to the Intent created by super.createIntent().

Summary

Public constructors

GetContent()

Public methods

Intent createIntent(Context context, String input)

Create an intent that can be used for Activity.startActivityForResult(Intent, int)

final SynchronousResult<Uri> getSynchronousResult(Context context, String input)

An optional method you can implement that can be used to potentially provide a result in lieu of starting an activity.

final Uri parseResult(int resultCode, Intent intent)

Convert result obtained from Activity.onActivityResult(int, int, Intent) to O

Inherited methods

Public constructors

GetContent

public GetContent ()

Public methods

createIntent

public Intent createIntent (Context context, 
                String input)

Create an intent that can be used for Activity.startActivityForResult(Intent, int)

Parameters
context Context

input String

Returns
Intent

getSynchronousResult

public final SynchronousResult<Uri> getSynchronousResult (Context context, 
                String input)

An optional method you can implement that can be used to potentially provide a result in lieu of starting an activity.

Parameters
context Context

input String

Returns
SynchronousResult<Uri> the result wrapped in a ActivityResultContract.SynchronousResult or null if the call should proceed to start an activity.

parseResult

public final Uri parseResult (int resultCode, 
                Intent intent)

Convert result obtained from Activity.onActivityResult(int, int, Intent) to O

Parameters
resultCode int

intent Intent

Returns
Uri