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

@NonNull Intent

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

final ActivityResultContract.SynchronousResult<Uri>

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 android.app.Activity.onActivityResult to O.

Public constructors

GetContent

Added in 1.2.0
public GetContent()

Public methods

createIntent

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

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

getSynchronousResult

Added in 1.2.0
public final ActivityResultContract.SynchronousResult<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<Uri>

the result wrapped in a 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 android.app.Activity.onActivityResult to O.