ActivityResultContracts.GetContent

public class ActivityResultContracts.GetContent extends ActivityResultContract


An ActivityResultContract to prompt the user to pick a piece of content, receiving a content://Uri for that content that allows you to use android.content.ContentResolver.openInputStream 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 createIntent if you wish to pass additional extras to the Intent created by super.createIntent().

Summary

Public constructors

Public methods

@CallSuper @NonNull Intent

Create an intent that can be used for android.app.Activity.startActivityForResult.

final @Nullable ActivityResultContract.SynchronousResult<@NonNull Uri>

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

final @Nullable Uri
parseResult(int resultCode, @Nullable Intent intent)

Convert result obtained from android.app.Activity.onActivityResult to O.

Public constructors

GetContent

public final GetContent()

Public methods

createIntent

@CallSuper
@NonNull
public @CallSuper Intent createIntent(@NonNull Context context, @NonNull String input)

Create an intent that can be used for android.app.Activity.startActivityForResult.

getSynchronousResult

@Nullable
public final ActivityResultContract.SynchronousResult<@NonNull UrigetSynchronousResult(@NonNull Context context, @NonNull String input)

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

Returns
ActivityResultContract.SynchronousResult<@NonNull Uri>

the result wrapped in a SynchronousResult or null if the call should proceed to start an activity.

parseResult

@Nullable
public final Uri parseResult(int resultCode, @Nullable Intent intent)

Convert result obtained from android.app.Activity.onActivityResult to O.