ActivityResultContracts.OpenDocumentTree

public class ActivityResultContracts.OpenDocumentTree extends ActivityResultContract


An ActivityResultContract to prompt the user to select a directory, returning the user selection as a Uri. Apps can fully manage documents within the returned directory.

The input is an optional Uri of the initial starting location.

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

See also
ACTION_OPEN_DOCUMENT_TREE

Intent#ACTION_OPEN_DOCUMENT_TREE

buildDocumentUriUsingTree

DocumentsContract#buildDocumentUriUsingTree

buildChildDocumentsUriUsingTree

DocumentsContract#buildChildDocumentsUriUsingTree

Summary

Public methods

@CallSuper @NonNull @Override Intent
createIntent(@NonNull Context context, @Nullable Uri input)

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, @Nullable Uri input)

Create an intent that can be used for startActivityForResult

getSynchronousResult

@Nullable
@Override
@NonNull
public final @Override ActivityResultContract.SynchronousResult<@NonNull UrigetSynchronousResult(@NonNull Context context, @Nullable Uri 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