ActivityResultContracts.GetContent

public class ActivityResultContracts.GetContent extends ActivityResultContract


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

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

This can be extended to override createIntent if you wish to pass additional extras to the Intent created by {@code super.createIntent()}.

Summary

Public methods

@CallSuper @NonNull @Override Intent

Create an intent that can be used for startActivityForResult

final @Nullable @Override 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 @Override Uri
parseResult(@NonNull int resultCode, @Nullable Intent intent)

Convert result obtained from onActivityResult to O

Public methods

createIntent

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

Create an intent that can be used for startActivityForResult

getSynchronousResult

@Nullable
@Override
@NonNull
public final @Override 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
@Override ActivityResultContract.SynchronousResult<@NonNull Uri>

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

parseResult

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

Convert result obtained from onActivityResult to O