ActivityResultContracts.GetContent

open class ActivityResultContracts.GetContent : 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 functions

open Intent
@CallSuper
createIntent(context: Context, input: String)

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

final ActivityResultContract.SynchronousResult<Uri?>?
getSynchronousResult(context: Context, input: String)

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

final Uri?
parseResult(resultCode: Int, intent: Intent?)

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

Public constructors

GetContent

Added in 1.2.0
GetContent()

Public functions

createIntent

Added in 1.2.0
@CallSuper
open fun createIntent(context: Context, input: String): Intent

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

getSynchronousResult

Added in 1.2.0
final fun getSynchronousResult(context: Context, input: String): ActivityResultContract.SynchronousResult<Uri?>?

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

Added in 1.9.0-alpha03
final fun parseResult(resultCode: Int, intent: Intent?): Uri?

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