FragmentActivity

class FragmentActivity : ComponentActivity, ActivityCompat.OnRequestPermissionsResultCallback

Known direct subclasses
AppCompatActivity

Base class for activities that wish to use some of the newer platform features on older Android devices.

BaseCarAppActivity

Core logic for CarAppLibrary Activity interaction with a host.

LauncherActivity

This class handles providing the right launcher activity when running native applications and Car App Library applications.

Known indirect subclasses
CarAppActivity

The class representing a car app activity in the main display.


Base class for activities that want to use the support-based Fragments.

Known limitations:

  • When using the <fragment> tag, this implementation can not use the parent view's ID as the new fragment's ID. You must explicitly specify an ID (or tag) in the <fragment>.

Summary

Public constructors

Default constructor for FragmentActivity.

Alternate constructor that can be used to provide a default layout that will be inflated as part of super.onCreate(savedInstanceState).

Public functions

Boolean
Boolean
Unit
dump(
    prefix: String,
    fd: FileDescriptor?,
    writer: PrintWriter,
    args: Array<String!>?
)

Print the Activity's state into the given stream.

FragmentManager

Return the FragmentManager for interacting with fragments associated with this activity.

LoaderManager

This function is deprecated.

Use LoaderManager.getInstance(this).

Unit

This function is deprecated.

The responsibility for listening for fragments being attached has been moved to FragmentManager.

View?
onCreateView(name: String, context: Context, attrs: AttributeSet)
View?
onCreateView(
    parent: View?,
    name: String,
    context: Context,
    attrs: AttributeSet
)
Boolean
onMenuItemSelected(featureId: Int, item: MenuItem)
Unit
@CallSuper
onRequestPermissionsResult(
    requestCode: Int,
    permissions: Array<String!>,
    grantResults: IntArray
)

This function is deprecated.

This method has been deprecated in favor of using the Activity Result API which brings increased type safety via an ActivityResultContract and the prebuilt contracts for common intents available in androidx.activity.result.contract.ActivityResultContracts, provides hooks for testing, and allow receiving results in separate, testable classes independent from your activity.

Unit

Hook in to note that fragment state is no longer saved.

Unit

When makeSceneTransitionAnimation was used to start an Activity, callback will be called to handle shared elements on the launched Activity.

Unit

When makeSceneTransitionAnimation was used to start an Activity, listener will be called to handle shared elements on the launching Activity.

Unit
startActivityFromFragment(
    fragment: Fragment,
    intent: Intent,
    requestCode: Int
)

Called by Fragment.startActivityForResult() to implement its behavior.

Unit
startActivityFromFragment(
    fragment: Fragment,
    intent: Intent,
    requestCode: Int,
    options: Bundle?
)

Called by Fragment.startActivityForResult() to implement its behavior.

Unit
startIntentSenderFromFragment(
    fragment: Fragment,
    intent: IntentSender,
    requestCode: Int,
    fillInIntent: Intent?,
    flagsMask: Int,
    flagsValues: Int,
    extraFlags: Int,
    options: Bundle?
)

This function is deprecated.

Fragments should use registerForActivityResult with the StartIntentSenderForResult contract.

Unit

Reverses the Activity Scene entry Transition and triggers the calling Activity to reverse its exit Transition.

Unit

This function is deprecated.

Call invalidateOptionsMenu directly.

Unit

Support library version of postponeEnterTransition that works only on API 21 and later.

Unit

Support library version of startPostponedEnterTransition that only works with API 21 and later.

Unit

This function is deprecated.

there are no longer any restrictions on permissions requestCodes.

Protected functions

Unit
@CallSuper
onActivityResult(requestCode: Int, resultCode: Int, data: Intent?)

This function is deprecated.

This method has been deprecated in favor of using the Activity Result API which brings increased type safety via an ActivityResultContract and the prebuilt contracts for common intents available in androidx.activity.result.contract.ActivityResultContracts, provides hooks for testing, and allow receiving results in separate, testable classes independent from your activity.

Unit
onCreate(savedInstanceState: Bundle?)

If your ComponentActivity is annotated with , this will call #setContentView(int) for you.

Unit

Destroy all fragments.

Unit

Dispatch onPause() to fragments.

Unit

Dispatch onResume() to fragments.

Unit

Dispatch onResume() to fragments.

Unit

This is the fragment-orientated version of onResume that you can override to perform operations in the Activity at the same point where its fragments are resumed.

Unit

Dispatch onStart() to all fragments.

Unit

Dispatch onStop() to all fragments.

Boolean

Checks if the internal state should be dump, as some special args are handled by Activity itself.

Extension functions

suspend BiometricPrompt.AuthenticationResult
FragmentActivity.authenticateWithClass2Biometrics(
    title: CharSequence,
    negativeButtonText: CharSequence,
    subtitle: CharSequence?,
    description: CharSequence?,
    confirmationRequired: Boolean
)

Prompts the user to authenticate with a Class 2 biometric (e.g. fingerprint, face, or iris).

AuthPrompt
FragmentActivity.startClass2BiometricAuthentication(
    title: CharSequence,
    negativeButtonText: CharSequence,
    subtitle: CharSequence?,
    description: CharSequence?,
    confirmationRequired: Boolean,
    executor: Executor?,
    callback: AuthPromptCallback
)

Prompts the user to authenticate with a Class 2 biometric (e.g. fingerprint, face, or iris).

suspend BiometricPrompt.AuthenticationResult
FragmentActivity.authenticateWithClass2BiometricsOrCredentials(
    title: CharSequence,
    subtitle: CharSequence?,
    description: CharSequence?,
    confirmationRequired: Boolean
)

Prompts the user to authenticate with a Class 2 biometric (e.g. fingerprint, face, or iris) or the screen lock credential (i.e. PIN, pattern, or password) for the device.

AuthPrompt
FragmentActivity.startClass2BiometricOrCredentialAuthentication(
    title: CharSequence,
    subtitle: CharSequence?,
    description: CharSequence?,
    confirmationRequired: Boolean,
    executor: Executor?,
    callback: AuthPromptCallback
)

Prompts the user to authenticate with a Class 2 biometric (e.g. fingerprint, face, or iris) or the screen lock credential (i.e. PIN, pattern, or password) for the device.

suspend BiometricPrompt.AuthenticationResult
FragmentActivity.authenticateWithClass3Biometrics(
    crypto: BiometricPrompt.CryptoObject?,
    title: CharSequence,
    negativeButtonText: CharSequence,
    subtitle: CharSequence?,
    description: CharSequence?,
    confirmationRequired: Boolean
)

Prompts the user to authenticate with a Class 3 biometric (e.g. fingerprint, face, or iris).

AuthPrompt
FragmentActivity.authenticateWithClass3Biometrics(
    crypto: BiometricPrompt.CryptoObject?,
    title: CharSequence,
    negativeButtonText: CharSequence,
    subtitle: CharSequence?,
    description: CharSequence?,
    confirmationRequired: Boolean,
    executor: Executor?,
    callback: AuthPromptCallback
)

Prompts the user to authenticate with a Class 3 biometric (e.g. fingerprint, face, or iris).

suspend BiometricPrompt.AuthenticationResult
@RequiresApi(value = 30)
FragmentActivity.authenticateWithClass3BiometricsOrCredentials(
    crypto: BiometricPrompt.CryptoObject?,
    title: CharSequence,
    subtitle: CharSequence?,
    description: CharSequence?,
    confirmationRequired: Boolean
)

Prompts the user to authenticate with a Class 3 biometric (e.g. fingerprint, face, or iris) or the screen lock credential (i.e. PIN, pattern, or password) for the device.

AuthPrompt
@RequiresApi(value = 30)
FragmentActivity.startClass3BiometricOrCredentialAuthentication(
    crypto: BiometricPrompt.CryptoObject?,
    title: CharSequence,
    subtitle: CharSequence?,
    description: CharSequence?,
    confirmationRequired: Boolean,
    executor: Executor?,
    callback: AuthPromptCallback
)

Prompts the user to authenticate with a Class 3 biometric (e.g. fingerprint, face, or iris) or the screen lock credential (i.e. PIN, pattern, or password) for the device.

suspend BiometricPrompt.AuthenticationResult
@RequiresApi(value = 30)
FragmentActivity.authenticateWithCredentials(
    crypto: BiometricPrompt.CryptoObject?,
    title: CharSequence,
    description: CharSequence?
)

Prompts the user to authenticate with the screen lock credential (i.e. PIN, pattern, or password) for the device.

AuthPrompt
@RequiresApi(value = 30)
FragmentActivity.startCredentialAuthentication(
    crypto: BiometricPrompt.CryptoObject?,
    title: CharSequence,
    description: CharSequence?,
    executor: Executor?,
    callback: AuthPromptCallback
)

Prompts the user to authenticate with the screen lock credential (i.e. PIN, pattern, or password) for the device.

Inherited Constants

From android.app.Activity
From android.content.ComponentCallbacks2
From android.content.Context
const String!
ACCESSIBILITY_SERVICE = "accessibility"
const String!
ACCOUNT_SERVICE = "account"
const String!
ACTIVITY_SERVICE = "activity"
const String!
ALARM_SERVICE = "alarm"
const String!
APPWIDGET_SERVICE = "appwidget"
const String!
APP_OPS_SERVICE = "appops"
const String!
APP_SEARCH_SERVICE = "app_search"
const String!
AUDIO_SERVICE = "audio"
const String!
BATTERY_SERVICE = "batterymanager"
const Int
const Int
const Int
const Int
const Int
const Int
const Int
BIND_EXTERNAL_SERVICE = -2147483648
const Long
BIND_EXTERNAL_SERVICE_LONG = 4611686018427387904
const Int
const Int
const Int
const Int
const Int
const Int
const String!
BIOMETRIC_SERVICE = "biometric"
const String!
BLOB_STORE_SERVICE = "blob_store"
const String!
BLUETOOTH_SERVICE = "bluetooth"
const String!
BUGREPORT_SERVICE = "bugreport"
const String!
CAMERA_SERVICE = "camera"
const String!
CAPTIONING_SERVICE = "captioning"
const String!
CARRIER_CONFIG_SERVICE = "carrier_config"
const String!
CLIPBOARD_SERVICE = "clipboard"
const String!
COMPANION_DEVICE_SERVICE = "companiondevice"
const String!
CONNECTIVITY_DIAGNOSTICS_SERVICE = "connectivity_diagnostics"
const String!
CONNECTIVITY_SERVICE = "connectivity"
const String!
CONSUMER_IR_SERVICE = "consumer_ir"
const Int
const Int
const Int
const String!
CREDENTIAL_SERVICE = "credential"
const String!
CROSS_PROFILE_APPS_SERVICE = "crossprofileapps"
const Int
const Int
const String!
DEVICE_LOCK_SERVICE = "device_lock"
const String!
DEVICE_POLICY_SERVICE = "device_policy"
const String!
DISPLAY_HASH_SERVICE = "display_hash"
const String!
DISPLAY_SERVICE = "display"
const String!
DOMAIN_VERIFICATION_SERVICE = "domain_verification"
const String!
DOWNLOAD_SERVICE = "download"
const String!
DROPBOX_SERVICE = "dropbox"
const String!
EUICC_SERVICE = "euicc"
const String!
FILE_INTEGRITY_SERVICE = "file_integrity"
const String!
FINGERPRINT_SERVICE = "fingerprint"
const String!
GAME_SERVICE = "game"
const String!
GRAMMATICAL_INFLECTION_SERVICE = "grammatical_inflection"
const String!
HARDWARE_PROPERTIES_SERVICE = "hardware_properties"
const String!
HEALTHCONNECT_SERVICE = "healthconnect"
const String!
INPUT_METHOD_SERVICE = "input_method"
const String!
INPUT_SERVICE = "input"
const String!
IPSEC_SERVICE = "ipsec"
const String!
JOB_SCHEDULER_SERVICE = "jobscheduler"
const String!
KEYGUARD_SERVICE = "keyguard"
const String!
LAUNCHER_APPS_SERVICE = "launcherapps"
const String!
LAYOUT_INFLATER_SERVICE = "layout_inflater"
const String!
LOCALE_SERVICE = "locale"
const String!
LOCATION_SERVICE = "location"
const String!
MEDIA_COMMUNICATION_SERVICE = "media_communication"
const String!
MEDIA_METRICS_SERVICE = "media_metrics"
const String!
MEDIA_PROJECTION_SERVICE = "media_projection"
const String!
MEDIA_ROUTER_SERVICE = "media_router"
const String!
MEDIA_SESSION_SERVICE = "media_session"
const String!
MIDI_SERVICE = "midi"
const Int
MODE_APPEND = 32768
const Int
const Int

This property is deprecated.

const Int
const Int
const Int

This property is deprecated.

const Int

This property is deprecated.

const String!
const String!
NFC_SERVICE = "nfc"
const String!
NOTIFICATION_SERVICE = "notification"
const String!
NSD_SERVICE = "servicediscovery"
const String!
OVERLAY_SERVICE = "overlay"
const String!
PEOPLE_SERVICE = "people"
const String!
PERFORMANCE_HINT_SERVICE = "performance_hint"
const String!
POWER_SERVICE = "power"
const String!
PRINT_SERVICE = "print"
const Int
const Int
const Int
const String!
RESTRICTIONS_SERVICE = "restrictions"
const String!
ROLE_SERVICE = "role"
const String!
SEARCH_SERVICE = "search"
const String!
SENSOR_SERVICE = "sensor"
const String!
SHORTCUT_SERVICE = "shortcut"
const String!
STATUS_BAR_SERVICE = "statusbar"
const String!
STORAGE_SERVICE = "storage"
const String!
STORAGE_STATS_SERVICE = "storagestats"
const String!
SYSTEM_HEALTH_SERVICE = "systemhealth"
const String!
TELECOM_SERVICE = "telecom"
const String!
TELEPHONY_IMS_SERVICE = "telephony_ims"
const String!
const String!
TELEPHONY_SUBSCRIPTION_SERVICE = "telephony_subscription_service"
const String!
TEXT_CLASSIFICATION_SERVICE = "textclassification"
const String!
const String!
TV_INPUT_SERVICE = "tv_input"
const String!
TV_INTERACTIVE_APP_SERVICE = "tv_interactive_app"
const String!
UI_MODE_SERVICE = "uimode"
const String!
USAGE_STATS_SERVICE = "usagestats"
const String!
USB_SERVICE = "usb"
const String!
USER_SERVICE = "user"
const String!
VIBRATOR_MANAGER_SERVICE = "vibrator_manager"
const String!
VIBRATOR_SERVICE = "vibrator"

This property is deprecated.

const String!
VIRTUAL_DEVICE_SERVICE = "virtualdevice"
const String!
VPN_MANAGEMENT_SERVICE = "vpn_management"
const String!
WALLPAPER_SERVICE = "wallpaper"
const String!
WIFI_AWARE_SERVICE = "wifiaware"
const String!
WIFI_P2P_SERVICE = "wifip2p"
const String!
const String!
WIFI_SERVICE = "wifi"
const String!
WINDOW_SERVICE = "window"

Inherited functions

From android.app.Activity
Unit
Unit
Unit
Unit
Unit
PendingIntent!
createPendingResult(requestCode: Int, data: Intent!, flags: Int)
Unit

This function is deprecated.

Unit
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Unit

This function is deprecated.

Boolean
T!
<T : View?> findViewById(id: Int)
Unit
Unit
finishActivity(requestCode: Int)
Unit
finishActivityFromChild(child: Activity!, requestCode: Int)

This function is deprecated.

Unit
Unit
Unit
Unit

This function is deprecated.

ActionBar!
Application!
ComponentName!
String!
Int
ComponentName!
Scene!
TransitionManager!
View!
FragmentManager!

This function is deprecated.

Intent!
Any!
String!
Int
LayoutInflater!
LoaderManager!

This function is deprecated.

String!
Int
MediaController!
MenuInflater!
OnBackInvokedDispatcher!
Activity!
Intent!
SharedPreferences!
Uri!
Int
SearchEvent!
SplashScreen!
Any!
Int
CharSequence!
Int
VoiceInteractor!
Int
Window!
WindowManager!
Boolean
Unit
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Boolean
Cursor!
managedQuery(
    uri: Uri!,
    projection: Array<String!>!,
    selection: String!,
    selectionArgs: Array<String!>!,
    sortOrder: String!
)

This function is deprecated.

Boolean
Boolean
navigateUpTo(upIntent: Intent!)
Boolean
navigateUpToFromChild(child: Activity!, upIntent: Intent!)

This function is deprecated.

Unit
Unit
Unit
onActivityReenter(resultCode: Int, data: Intent!)
Unit
onActivityResult(requestCode: Int, resultCode: Int, data: Intent!)
Unit
onApplyThemeResource(theme: Resources.Theme!, resid: Int, first: Boolean)
Unit

This function is deprecated.

Unit
Unit

This function is deprecated.

Unit
onChildTitleChanged(childActivity: Activity!, title: CharSequence!)
Unit
Unit
Boolean
Unit
Unit
onCreate(savedInstanceState: Bundle!)
Unit
onCreateContextMenu(
    menu: ContextMenu!,
    v: View!,
    menuInfo: ContextMenu.ContextMenuInfo!
)
CharSequence!
Dialog!

This function is deprecated.

Unit
Boolean
Boolean
onCreatePanelMenu(featureId: Int, menu: Menu!)
View!
onCreatePanelView(featureId: Int)
Boolean
onCreateThumbnail(outBitmap: Bitmap!, canvas: Canvas!)

This function is deprecated.

Unit
Unit
Boolean
Unit
onGetDirectActions(
    cancellationSignal: CancellationSignal!,
    callback: Consumer<(Mutable)List<DirectAction!>!>!
)
Boolean
onKeyDown(keyCode: Int, event: KeyEvent!)
Boolean
onKeyLongPress(keyCode: Int, event: KeyEvent!)
Boolean
onKeyMultiple(keyCode: Int, repeatCount: Int, event: KeyEvent!)
Boolean
onKeyShortcut(keyCode: Int, event: KeyEvent!)
Boolean
onKeyUp(keyCode: Int, event: KeyEvent!)
Unit
Unit
Unit
Boolean
onMenuItemSelected(featureId: Int, item: MenuItem!)
Boolean
onMenuOpened(featureId: Int, menu: Menu!)
Unit
onMultiWindowModeChanged(
    isInMultiWindowMode: Boolean,
    newConfig: Configuration!
)
Boolean
Boolean

This function is deprecated.

Unit
onNewIntent(intent: Intent!)
Boolean
Unit
Unit
onPanelClosed(featureId: Int, menu: Menu!)
Unit
onPerformDirectAction(
    actionId: String!,
    arguments: Bundle!,
    cancellationSignal: CancellationSignal!,
    resultListener: Consumer<Bundle!>!
)
Unit
onPictureInPictureModeChanged(
    isInPictureInPictureMode: Boolean,
    newConfig: Configuration!
)
Boolean
Unit
Unit
onPostCreate(savedInstanceState: Bundle!)
Unit
onPrepareDialog(id: Int, dialog: Dialog!)

This function is deprecated.

Unit
Boolean
Boolean
onPreparePanel(featureId: Int, view: View!, menu: Menu!)
Unit
Unit
Unit
onProvideKeyboardShortcuts(
    data: (Mutable)List<KeyboardShortcutGroup!>!,
    menu: Menu!,
    deviceId: Int
)
Uri!
Unit
onRequestPermissionsResult(
    requestCode: Int,
    permissions: Array<String!>!,
    grantResults: IntArray!
)
Unit
Unit
onRestoreInstanceState(savedInstanceState: Bundle!)
Any!
Unit
Boolean
Unit
onTitleChanged(title: CharSequence!, color: Int)
Unit
onTopResumedActivityChanged(isTopResumedActivity: Boolean)
Boolean
Boolean
Unit
onTrimMemory(level: Int)
Unit
Unit
Unit

This function is deprecated.

Unit
Unit
ActionMode!
Unit
Unit
Unit
overrideActivityTransition(
    overrideType: Int,
    enterAnim: Int,
    exitAnim: Int
)
Unit
overridePendingTransition(enterAnim: Int, exitAnim: Int)

This function is deprecated.

Unit
Unit
Unit
Unit
Unit
Unit
Boolean
Unit

This function is deprecated.

Unit
DragAndDropPermissions!
Unit
requestFullscreenMode(
    request: Int,
    approvalCallback: OutcomeReceiver<Void!, Throwable!>!
)
Unit
requestPermissions(permissions: Array<String!>!, requestCode: Int)
Unit
Boolean

This function is deprecated.

Boolean
T!
<T : View?> requireViewById(id: Int)
Unit
Unit
setActionBar(toolbar: Toolbar!)
Unit
Unit
setContentView(layoutResID: Int)
Unit
Unit
Unit
Unit
setFeatureDrawable(featureId: Int, drawable: Drawable!)
Unit
setFeatureDrawableAlpha(featureId: Int, alpha: Int)
Unit
setFeatureDrawableResource(featureId: Int, resId: Int)
Unit
setFeatureDrawableUri(featureId: Int, uri: Uri!)
Unit
Unit
Unit
setInheritShowWhenLocked(inheritShowWhenLocked: Boolean)
Unit
setIntent(newIntent: Intent!)
Unit
setLocusContext(locusId: LocusId!, bundle: Bundle!)
Unit
Unit
Unit
setProgress(progress: Int)

This function is deprecated.

Unit

This function is deprecated.

Unit

This function is deprecated.

Unit

This function is deprecated.

Unit
Unit
setRequestedOrientation(requestedOrientation: Int)
Unit
setResult(resultCode: Int)
Unit
setSecondaryProgress(secondaryProgress: Int)

This function is deprecated.

Unit
setShouldDockBigOverlays(shouldDockBigOverlays: Boolean)
Unit
setShowWhenLocked(showWhenLocked: Boolean)
Unit
Unit
setTheme(resid: Int)
Unit
Unit
setTitleColor(textColor: Int)

This function is deprecated.

Boolean
setTranslucent(translucent: Boolean)
Unit
setTurnScreenOn(turnScreenOn: Boolean)
Unit
setVisible(visible: Boolean)
Unit
Unit
setVrModeEnabled(enabled: Boolean, requestedComponent: ComponentName!)
Boolean
Boolean
Boolean
shouldUpRecreateTask(targetIntent: Intent!)
Boolean
Unit

This function is deprecated.

Boolean
showDialog(id: Int, args: Bundle!)

This function is deprecated.

Unit
ActionMode!
Unit
Unit
Unit
startActivityForResult(intent: Intent!, requestCode: Int)
Unit
startActivityFromChild(child: Activity!, intent: Intent!, requestCode: Int)

This function is deprecated.

Unit
startActivityFromFragment(
    fragment: Fragment!,
    intent: Intent!,
    requestCode: Int
)

This function is deprecated.

Boolean
startActivityIfNeeded(intent: Intent!, requestCode: Int)
Unit
startIntentSender(
    intent: IntentSender!,
    fillInIntent: Intent!,
    flagsMask: Int,
    flagsValues: Int,
    extraFlags: Int
)
Unit
startIntentSenderForResult(
    intent: IntentSender!,
    requestCode: Int,
    fillInIntent: Intent!,
    flagsMask: Int,
    flagsValues: Int,
    extraFlags: Int
)
Unit
startIntentSenderFromChild(
    child: Activity!,
    intent: IntentSender!,
    requestCode: Int,
    fillInIntent: Intent!,
    flagsMask: Int,
    flagsValues: Int,
    extraFlags: Int
)

This function is deprecated.

Unit
Unit
Unit

This function is deprecated.

Boolean
Unit
Unit
startSearch(
    initialQuery: String!,
    selectInitialQuery: Boolean,
    appSearchData: Bundle!,
    globalSearch: Boolean
)
Unit
Unit
Unit

This function is deprecated.

Unit
Unit
triggerSearch(query: String!, appSearchData: Bundle!)
Unit
Unit
Unit
Unit
From androidx.activity.result.ActivityResultCaller
abstract ActivityResultLauncher<I!>
<I, O> registerForActivityResult(
    contract: ActivityResultContract<I!, O!>,
    registry: ActivityResultRegistry,
    callback: ActivityResultCallback<O!>
)

Register a request to start an activity for result, designated by the given contract.

From androidx.activity.result.ActivityResultRegistryOwner
abstract ActivityResultRegistry!

Returns the ActivityResultRegistry of the provider.

From androidx.activity.ComponentActivity
Unit
Unit

Adds the given MenuProvider to this MenuHost.

Unit

Adds the given MenuProvider to this MenuHost.

Unit
addMenuProvider(
    provider: MenuProvider,
    owner: LifecycleOwner,
    state: Lifecycle.State
)

Adds the given MenuProvider to this MenuHost once the given LifecycleOwner reaches the given Lifecycle.State.

Unit

Add a new listener that will get a callback associated with onConfigurationChanged with the new Configuration.

Unit

Add a new OnContextAvailableListener for receiving a callback for when this class is associated with a android.content.Context.

Unit

Add a new listener that will get a callback associated with onMultiWindowModeChanged with the new MultiWindowModeChangedInfo.

Unit

Add a new listener that will get a callback associated with onNewIntent with the new Intent.

Unit

Add a new listener that will get a callback associated with onPictureInPictureModeChanged with the new PictureInPictureModeChangedInfo.

Unit

Add a new listener that will get a callback associated with onTrimMemory with the int representing the level of trimming.

ActivityResultRegistry

Get the ActivityResultRegistry associated with this activity.

CreationExtras

Returns the default CreationExtras that should be passed into ViewModelProvider.Factory.create when no overriding CreationExtras were passed to the ViewModelProvider constructors.

ViewModelProvider.Factory

Returns the default ViewModelProvider.Factory that should be used when no custom Factory is provided to the ViewModelProvider constructors.

FullyDrawnReporter

Retrieve the FullyDrawnReporter that should handle the independent parts of the UI that separately report that they are fully drawn.

Any?

This function is deprecated.

Use a androidx.lifecycle.ViewModel to store non config state.

Lifecycle

Overriding this method is no longer supported and this method will be made final in a future version of ComponentActivity.

OnBackPressedDispatcher

Retrieve the OnBackPressedDispatcher that will be triggered when onBackPressed is called.

SavedStateRegistry

The SavedStateRegistry owned by this SavedStateRegistryOwner

ViewModelStore

Returns the ViewModelStore associated with this activity

Unit

Sets the view tree owners before setting the content view so that the inflation process and attach listeners will see them already present.

Unit

Invalidates the android.view.Menu to ensure that what is displayed matches the current internal state of the menu.

Unit

This function is deprecated.

This method has been deprecated in favor of using the OnBackPressedDispatcher via getOnBackPressedDispatcher.

Unit

Dispatches this call to all listeners added via addOnConfigurationChangedListener.

Boolean
onCreatePanelMenu(featureId: Int, menu: Menu)
Unit

Dispatches this call to all listeners added via addOnMultiWindowModeChangedListener.

Unit
@RequiresApi(api = Build.VERSION_CODES.O)
@CallSuper
onMultiWindowModeChanged(
    isInMultiWindowMode: Boolean,
    newConfig: Configuration
)

Dispatches this call to all listeners added via addOnMultiWindowModeChangedListener.

Unit

Dispatches this call to all listeners added via addOnNewIntentListener.

Unit
onPanelClosed(featureId: Int, menu: Menu)
Unit
@CallSuper
onPictureInPictureModeChanged(isInPictureInPictureMode: Boolean)

Dispatches this call to all listeners added via addOnPictureInPictureModeChangedListener.

Unit
@RequiresApi(api = Build.VERSION_CODES.O)
@CallSuper
onPictureInPictureModeChanged(
    isInPictureInPictureMode: Boolean,
    newConfig: Configuration
)

Dispatches this call to all listeners added via addOnPictureInPictureModeChangedListener.

Boolean
onPreparePanel(featureId: Int, view: View?, menu: Menu)
Any?

This function is deprecated.

Use a androidx.lifecycle.ViewModel to store non config state.

Any?

Retain all appropriate non-config state.

Unit
Unit

Dispatches this call to all listeners added via addOnTrimMemoryListener.

Context?

Get the Context if it is currently available.

ActivityResultLauncher<I!>
<I, O> registerForActivityResult(
    contract: ActivityResultContract<I!, O!>,
    callback: ActivityResultCallback<O!>
)

Register a request to start an activity for result, designated by the given contract.

ActivityResultLauncher<I!>
<I, O> registerForActivityResult(
    contract: ActivityResultContract<I!, O!>,
    registry: ActivityResultRegistry,
    callback: ActivityResultCallback<O!>
)

Register a request to start an activity for result, designated by the given contract.

Unit

Removes the given MenuProvider from this MenuHost.

Unit

Remove a previously added listener.

Unit

Remove a OnContextAvailableListener previously added via addOnContextAvailableListener.

Unit

Remove a previously added listener.

Unit

Remove a previously added listener.

Unit

Remove a previously added listener.

Unit

Remove a previously added listener.

Unit
Unit
setContentView(layoutResID: @LayoutRes Int)
Unit
Unit
Unit
startActivityForResult(intent: Intent, requestCode: Int)

This function is deprecated.

This method has been deprecated in favor of using the Activity Result API which brings increased type safety via an ActivityResultContract and the prebuilt contracts for common intents available in androidx.activity.result.contract.ActivityResultContracts, provides hooks for testing, and allow receiving results in separate, testable classes independent from your activity.

Unit
startActivityForResult(intent: Intent, requestCode: Int, options: Bundle?)

This function is deprecated.

This method has been deprecated in favor of using the Activity Result API which brings increased type safety via an ActivityResultContract and the prebuilt contracts for common intents available in androidx.activity.result.contract.ActivityResultContracts, provides hooks for testing, and allow receiving results in separate, testable classes independent from your activity.

Unit
startIntentSenderForResult(
    intent: IntentSender,
    requestCode: Int,
    fillInIntent: Intent?,
    flagsMask: Int,
    flagsValues: Int,
    extraFlags: Int
)

This function is deprecated.

This method has been deprecated in favor of using the Activity Result API which brings increased type safety via an ActivityResultContract and the prebuilt contracts for common intents available in androidx.activity.result.contract.ActivityResultContracts, provides hooks for testing, and allow receiving results in separate, testable classes independent from your activity.

Unit
startIntentSenderForResult(
    intent: IntentSender,
    requestCode: Int,
    fillInIntent: Intent?,
    flagsMask: Int,
    flagsValues: Int,
    extraFlags: Int,
    options: Bundle?
)

This function is deprecated.

This method has been deprecated in favor of using the Activity Result API which brings increased type safety via an ActivityResultContract and the prebuilt contracts for common intents available in androidx.activity.result.contract.ActivityResultContracts, provides hooks for testing, and allow receiving results in separate, testable classes independent from your activity.

From android.content.Context
From androidx.activity.contextaware.ContextAware
abstract Unit

Add a new OnContextAvailableListener for receiving a callback for when this class is associated with a android.content.Context.

abstract Context!

Get the Context if it is currently available.

abstract Unit

Remove a OnContextAvailableListener previously added via addOnContextAvailableListener.

From android.view.ContextThemeWrapper
From android.content.ContextWrapper
Boolean
bindIsolatedService(
    service: Intent!,
    flags: Int,
    instanceName: String!,
    executor: Executor!,
    conn: ServiceConnection!
)
Boolean
bindService(service: Intent!, conn: ServiceConnection!, flags: Int)
Boolean
bindServiceAsUser(
    service: Intent!,
    conn: ServiceConnection!,
    flags: Int,
    user: UserHandle!
)
Int
Int
IntArray<Int>!
checkCallingOrSelfUriPermissions(
    uris: (Mutable)List<Uri!>!,
    modeFlags: Int
)
Int
Int
checkCallingUriPermission(uri: Uri!, modeFlags: Int)
IntArray<Int>!
checkCallingUriPermissions(uris: (Mutable)List<Uri!>!, modeFlags: Int)
Int
checkPermission(permission: String!, pid: Int, uid: Int)
Int
Int
checkUriPermission(uri: Uri!, pid: Int, uid: Int, modeFlags: Int)
IntArray<Int>!
checkUriPermissions(
    uris: (Mutable)List<Uri!>!,
    pid: Int,
    uid: Int,
    modeFlags: Int
)
Unit

This function is deprecated.

Context!
createAttributionContext(attributionTag: String!)
Context!
createConfigurationContext(overrideConfiguration: Configuration!)
Context!
createContext(contextParams: ContextParams!)
Context!
Context!
Context!
Context!
Context!
createPackageContext(packageName: String!, flags: Int)
Context!
createWindowContext(type: Int, options: Bundle!)
Array<String!>!
Boolean
Boolean
Boolean
Unit
enforceCallingOrSelfPermission(permission: String!, message: String!)
Unit
enforceCallingOrSelfUriPermission(
    uri: Uri!,
    modeFlags: Int,
    message: String!
)
Unit
enforceCallingPermission(permission: String!, message: String!)
Unit
enforceCallingUriPermission(uri: Uri!, modeFlags: Int, message: String!)
Unit
enforcePermission(permission: String!, pid: Int, uid: Int, message: String!)
Unit
enforceUriPermission(
    uri: Uri!,
    pid: Int,
    uid: Int,
    modeFlags: Int,
    message: String!
)
Array<String!>!
Context!
ApplicationInfo!
AttributionSource!
String!
Context!
File!
ClassLoader!
File!
ContentResolver!
File!
File!
Int
File!
getDir(name: String!, mode: Int)
Display!
File!
Array<File!>!
File!
Array<File!>!
Array<File!>!

This function is deprecated.

File!
File!
Executor!
Looper!
File!
File!
Array<File!>!
String!
String!
PackageManager!
String!
String!
ContextParams!
SharedPreferences!
getSharedPreferences(name: String!, mode: Int)
String!
getSystemServiceName(serviceClass: Class<Any!>!)
Drawable!

This function is deprecated.

Int

This function is deprecated.

Int

This function is deprecated.

Unit
grantUriPermission(toPackage: String!, uri: Uri!, modeFlags: Int)
Boolean
Boolean
Boolean
Boolean
moveDatabaseFrom(sourceContext: Context!, name: String!)
Boolean
moveSharedPreferencesFrom(sourceContext: Context!, name: String!)
FileInputStream!
FileOutputStream!
openFileOutput(name: String!, mode: Int)
SQLiteDatabase!
openOrCreateDatabase(
    name: String!,
    mode: Int,
    factory: SQLiteDatabase.CursorFactory!
)
Drawable!

This function is deprecated.

Unit
Intent!
Unit

This function is deprecated.

Unit

This function is deprecated.

Unit
Unit
revokeUriPermission(uri: Uri!, modeFlags: Int)
Unit
Unit
Unit
sendOrderedBroadcast(intent: Intent!, receiverPermission: String!)
Unit
sendOrderedBroadcastAsUser(
    intent: Intent!,
    user: UserHandle!,
    receiverPermission: String!,
    resultReceiver: BroadcastReceiver!,
    scheduler: Handler!,
    initialCode: Int,
    initialData: String!,
    initialExtras: Bundle!
)
Unit

This function is deprecated.

Unit

This function is deprecated.

Unit
sendStickyOrderedBroadcast(
    intent: Intent!,
    resultReceiver: BroadcastReceiver!,
    scheduler: Handler!,
    initialCode: Int,
    initialData: String!,
    initialExtras: Bundle!
)

This function is deprecated.

Unit
sendStickyOrderedBroadcastAsUser(
    intent: Intent!,
    user: UserHandle!,
    resultReceiver: BroadcastReceiver!,
    scheduler: Handler!,
    initialCode: Int,
    initialData: String!,
    initialExtras: Bundle!
)

This function is deprecated.

Unit
setWallpaper(bitmap: Bitmap!)

This function is deprecated.

ComponentName!
Boolean
startInstrumentation(
    className: ComponentName!,
    profileFile: String!,
    arguments: Bundle!
)
ComponentName!
startService(service: Intent!)
Boolean
Unit
Unit
Unit
Unit
updateServiceGroup(conn: ServiceConnection!, group: Int, importance: Int)
From androidx.activity.FullyDrawnReporterOwner
abstract FullyDrawnReporter!

Retrieve the FullyDrawnReporter that should handle the independent parts of the UI that separately report that they are fully drawn.

From androidx.lifecycle.HasDefaultViewModelProviderFactory
CreationExtras!

Returns the default CreationExtras that should be passed into ViewModelProvider.Factory.create when no overriding CreationExtras were passed to the ViewModelProvider constructors.

abstract ViewModelProvider.Factory!

Returns the default ViewModelProvider.Factory that should be used when no custom Factory is provided to the ViewModelProvider constructors.

From androidx.lifecycle.LifecycleOwner
abstract Lifecycle!

Returns the Lifecycle of the provider.

From androidx.activity.OnBackPressedDispatcherOwner
abstract OnBackPressedDispatcher!

The OnBackPressedDispatcher that should handle the system back button.

From androidx.core.content.OnConfigurationChangedProvider
abstract Unit

Add a new listener that will get a callback associated with onConfigurationChanged with the new Configuration.

abstract Unit

Remove a previously added listener.

From androidx.core.app.OnMultiWindowModeChangedProvider
abstract Unit

Add a new listener that will get a callback associated with onMultiWindowModeChanged with the new MultiWindowModeChangedInfo.

abstract Unit

Remove a previously added listener.

From androidx.core.app.OnNewIntentProvider
abstract Unit

Add a new listener that will get a callback associated with onNewIntent with the new Intent.

abstract Unit

Remove a previously added listener.

From androidx.core.app.OnPictureInPictureModeChangedProvider
abstract Unit

Add a new listener that will get a callback associated with onPictureInPictureModeChanged with the new PictureInPictureModeChangedInfo.

abstract Unit

Remove a previously added listener.

From androidx.savedstate.SavedStateRegistryOwner
abstract SavedStateRegistry!

The SavedStateRegistry owned by this SavedStateRegistryOwner

From androidx.lifecycle.ViewModelStoreOwner
From android.view.Window.Callback

Public constructors

FragmentActivity

Added in 1.1.0
FragmentActivity()

Default constructor for FragmentActivity. All Activities must have a default constructor for API 27 and lower devices or when using the default android.app.AppComponentFactory.

FragmentActivity

Added in 1.1.0
@ContentView
FragmentActivity(contentLayoutId: @LayoutRes Int)

Alternate constructor that can be used to provide a default layout that will be inflated as part of super.onCreate(savedInstanceState).

This should generally be called from your constructor that takes no parameters, as is required for API 27 and lower or when using the default android.app.AppComponentFactory.

See also
FragmentActivity

Public functions

dispatchKeyEvent

fun dispatchKeyEvent(event: KeyEvent!): Boolean

dispatchKeyShortcutEvent

fun dispatchKeyShortcutEvent(event: KeyEvent!): Boolean

dump

Added in 1.7.0-alpha02
fun dump(
    prefix: String,
    fd: FileDescriptor?,
    writer: PrintWriter,
    args: Array<String!>?
): Unit

Print the Activity's state into the given stream. This gets invoked if you run "adb shell dumpsys activity ".

Parameters
prefix: String

Desired prefix to prepend at each line of output.

fd: FileDescriptor?

The raw file descriptor that the dump is being sent to.

writer: PrintWriter

The PrintWriter to which you should dump your state. This will be closed for you after you return.

args: Array<String!>?

additional arguments to the dump request.

getSupportFragmentManager

Added in 1.1.0
fun getSupportFragmentManager(): FragmentManager

Return the FragmentManager for interacting with fragments associated with this activity.

getSupportLoaderManager

Added in 1.1.0
Deprecated in 1.1.0
fun getSupportLoaderManager(): LoaderManager

onAttachFragment

Added in 1.1.0
Deprecated in 1.3.0
@MainThread
fun onAttachFragment(fragment: Fragment): Unit

Called when a fragment is attached to the activity.

This is called after the attached fragment's onAttach and before the attached fragment's onCreate if the fragment has not yet had a previous call to onCreate.

onCreateView

Added in 1.7.0-alpha02
fun onCreateView(name: String, context: Context, attrs: AttributeSet): View?

onCreateView

Added in 1.7.0-alpha02
fun onCreateView(
    parent: View?,
    name: String,
    context: Context,
    attrs: AttributeSet
): View?

onMenuItemSelected

Added in 1.7.0-alpha02
fun onMenuItemSelected(featureId: Int, item: MenuItem): Boolean

onRequestPermissionsResult

Added in 1.7.0-alpha02
@CallSuper
fun onRequestPermissionsResult(
    requestCode: Int,
    permissions: Array<String!>,
    grantResults: IntArray
): Unit

onStateNotSaved

Added in 1.1.0
fun onStateNotSaved(): Unit

Hook in to note that fragment state is no longer saved.

setEnterSharedElementCallback

Added in 1.1.0
fun setEnterSharedElementCallback(callback: SharedElementCallback?): Unit

When makeSceneTransitionAnimation was used to start an Activity, callback will be called to handle shared elements on the launched Activity. This requires FEATURE_CONTENT_TRANSITIONS.

Parameters
callback: SharedElementCallback?

Used to manipulate shared element transitions on the launched Activity.

setExitSharedElementCallback

Added in 1.1.0
fun setExitSharedElementCallback(listener: SharedElementCallback?): Unit

When makeSceneTransitionAnimation was used to start an Activity, listener will be called to handle shared elements on the launching Activity. Most calls will only come when returning from the started Activity. This requires FEATURE_CONTENT_TRANSITIONS.

Parameters
listener: SharedElementCallback?

Used to manipulate shared element transitions on the launching Activity.

startActivityFromFragment

Added in 1.1.0
fun startActivityFromFragment(
    fragment: Fragment,
    intent: Intent,
    requestCode: Int
): Unit

Called by Fragment.startActivityForResult() to implement its behavior.

Parameters
fragment: Fragment

the Fragment to start the activity from.

intent: Intent

The intent to start.

requestCode: Int

The request code to be returned in onActivityResult when the activity exits. Must be between 0 and 65535 to be considered valid. If given requestCode is greater than 65535, an IllegalArgumentException would be thrown.

startActivityFromFragment

Added in 1.1.0
fun startActivityFromFragment(
    fragment: Fragment,
    intent: Intent,
    requestCode: Int,
    options: Bundle?
): Unit

Called by Fragment.startActivityForResult() to implement its behavior.

Parameters
fragment: Fragment

the Fragment to start the activity from.

intent: Intent

The intent to start.

requestCode: Int

The request code to be returned in onActivityResult when the activity exits. Must be between 0 and 65535 to be considered valid. If given requestCode is greater than 65535, an IllegalArgumentException would be thrown.

options: Bundle?

Additional options for how the Activity should be started. See startActivity for more details. This value may be null.

startIntentSenderFromFragment

Added in 1.1.0
Deprecated in 1.3.0
fun startIntentSenderFromFragment(
    fragment: Fragment,
    intent: IntentSender,
    requestCode: Int,
    fillInIntent: Intent?,
    flagsMask: Int,
    flagsValues: Int,
    extraFlags: Int,
    options: Bundle?
): Unit

Called by Fragment.startIntentSenderForResult() to implement its behavior.

Parameters
fragment: Fragment

the Fragment to start the intent sender from.

intent: IntentSender

The IntentSender to launch.

requestCode: Int

The request code to be returned in onActivityResult when the activity exits. Must be between 0 and 65535 to be considered valid. If given requestCode is greater than 65535, an IllegalArgumentException would be thrown.

fillInIntent: Intent?

If non-null, this will be provided as the intent parameter to sendIntent. This value may be null.

flagsMask: Int

Intent flags in the original IntentSender that you would like to change.

flagsValues: Int

Desired values for any bits set in flagsMask.

extraFlags: Int

Always set to 0.

options: Bundle?

Additional options for how the Activity should be started. See startActivity for more details. This value may be null.

Throws
android.content.IntentSender.SendIntentException

if the call fails to execute.

supportFinishAfterTransition

Added in 1.1.0
fun supportFinishAfterTransition(): Unit

Reverses the Activity Scene entry Transition and triggers the calling Activity to reverse its exit Transition. When the exit Transition completes, finish is called. If no entry Transition was used, finish() is called immediately and the Activity exit Transition is run.

On Android 4.4 or lower, this method only finishes the Activity with no special exit transition.

supportInvalidateOptionsMenu

Added in 1.1.0
Deprecated in 1.1.0
fun supportInvalidateOptionsMenu(): Unit

Support library version of invalidateOptionsMenu.

Invalidate the activity's options menu. This will cause relevant presentations of the menu to fully update via calls to onCreateOptionsMenu and onPrepareOptionsMenu the next time the menu is requested.

supportPostponeEnterTransition

Added in 1.1.0
fun supportPostponeEnterTransition(): Unit

Support library version of postponeEnterTransition that works only on API 21 and later.

supportStartPostponedEnterTransition

Added in 1.1.0
fun supportStartPostponedEnterTransition(): Unit

Support library version of startPostponedEnterTransition that only works with API 21 and later.

validateRequestPermissionsRequestCode

Added in 1.1.0
Deprecated in 1.3.0
fun validateRequestPermissionsRequestCode(requestCode: Int): Unit

Protected functions

onActivityResult

Added in 1.7.0-alpha02
@CallSuper
protected fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?): Unit

onCreate

Added in 1.7.0-alpha02
protected fun onCreate(savedInstanceState: Bundle?): Unit

If your ComponentActivity is annotated with , this will call #setContentView(int) for you. Perform initialization of all fragments.

onDestroy

Added in 1.7.0-alpha02
protected fun onDestroy(): Unit

Destroy all fragments.

onPause

Added in 1.7.0-alpha02
protected fun onPause(): Unit

Dispatch onPause() to fragments.

onPostResume

Added in 1.7.0-alpha02
protected fun onPostResume(): Unit

Dispatch onResume() to fragments.

onResume

Added in 1.7.0-alpha02
protected fun onResume(): Unit

Dispatch onResume() to fragments. Note that for better inter-operation with older versions of the platform, at the point of this call the fragments attached to the activity are not resumed.

onResumeFragments

Added in 1.1.0
protected fun onResumeFragments(): Unit

This is the fragment-orientated version of onResume that you can override to perform operations in the Activity at the same point where its fragments are resumed. Be sure to always call through to the super-class.

onStart

Added in 1.7.0-alpha02
protected fun onStart(): Unit

Dispatch onStart() to all fragments.

onStop

Added in 1.7.0-alpha02
protected fun onStop(): Unit

Dispatch onStop() to all fragments.

shouldDumpInternalState

protected fun shouldDumpInternalState(args: Array<String!>?): Boolean

Checks if the internal state should be dump, as some special args are handled by Activity itself.

Subclasses implementing dump should typically start with:

@Override
public void dump(@NonNull String prefix, @Nullable FileDescriptor fd,
       @NonNull PrintWriter writer, @Nullable String[] args) {
   super.dump(prefix, fd, writer, args);

   if (!shouldDumpInternalState(args)) {
       return;
   }
   // dump internal starte
}

Extension functions

authenticateWithClass2Biometrics

suspend fun FragmentActivity.authenticateWithClass2Biometrics(
    title: CharSequence,
    negativeButtonText: CharSequence,
    subtitle: CharSequence? = null,
    description: CharSequence? = null,
    confirmationRequired: Boolean = true
): BiometricPrompt.AuthenticationResult

Prompts the user to authenticate with a Class 2 biometric (e.g. fingerprint, face, or iris).

Note that Class 3 biometrics are guaranteed to meet the requirements for Class 2 and thus will also be accepted.

Parameters
title: CharSequence

The title to be displayed on the prompt.

negativeButtonText: CharSequence

The label for the negative button on the prompt.

subtitle: CharSequence? = null

An optional subtitle to be displayed on the prompt.

description: CharSequence? = null

An optional description to be displayed on the prompt.

confirmationRequired: Boolean = true

Whether user confirmation should be required for passive biometrics.

Returns
BiometricPrompt.AuthenticationResult

AuthenticationResult for a successful authentication.

Throws
androidx.biometric.auth.AuthPromptErrorException

when an unrecoverable error has been encountered and authentication has stopped.

androidx.biometric.auth.AuthPromptFailureException

when an authentication attempt by the user has been rejected.

startClass2BiometricAuthentication

fun FragmentActivity.startClass2BiometricAuthentication(
    title: CharSequence,
    negativeButtonText: CharSequence,
    subtitle: CharSequence? = null,
    description: CharSequence? = null,
    confirmationRequired: Boolean = true,
    executor: Executor? = null,
    callback: AuthPromptCallback
): AuthPrompt

Prompts the user to authenticate with a Class 2 biometric (e.g. fingerprint, face, or iris).

Note that Class 3 biometrics are guaranteed to meet the requirements for Class 2 and thus will also be accepted.

Parameters
title: CharSequence

The title to be displayed on the prompt.

negativeButtonText: CharSequence

The label for the negative button on the prompt.

subtitle: CharSequence? = null

An optional subtitle to be displayed on the prompt.

description: CharSequence? = null

An optional description to be displayed on the prompt.

confirmationRequired: Boolean = true

Whether user confirmation should be required for passive biometrics.

executor: Executor? = null

An executor for callback methods. If null, these will run on the main thread.

callback: AuthPromptCallback

The object that will receive and process authentication events.

Returns
AuthPrompt

An AuthPrompt handle to the shown prompt.

authenticateWithClass2BiometricsOrCredentials

suspend fun FragmentActivity.authenticateWithClass2BiometricsOrCredentials(
    title: CharSequence,
    subtitle: CharSequence? = null,
    description: CharSequence? = null,
    confirmationRequired: Boolean = true
): BiometricPrompt.AuthenticationResult

Prompts the user to authenticate with a Class 2 biometric (e.g. fingerprint, face, or iris) or the screen lock credential (i.e. PIN, pattern, or password) for the device.

Note that Class 3 biometrics are guaranteed to meet the requirements for Class 2 and thus will also be accepted.

Parameters
title: CharSequence

The title to be displayed on the prompt.

subtitle: CharSequence? = null

An optional subtitle to be displayed on the prompt.

description: CharSequence? = null

An optional description to be displayed on the prompt.

confirmationRequired: Boolean = true

Whether user confirmation should be required for passive biometrics.

Returns
BiometricPrompt.AuthenticationResult

AuthenticationResult for a successful authentication.

Throws
androidx.biometric.auth.AuthPromptErrorException

when an unrecoverable error has been encountered and authentication has stopped.

androidx.biometric.auth.AuthPromptFailureException

when an authentication attempt by the user has been rejected.

startClass2BiometricOrCredentialAuthentication

fun FragmentActivity.startClass2BiometricOrCredentialAuthentication(
    title: CharSequence,
    subtitle: CharSequence? = null,
    description: CharSequence? = null,
    confirmationRequired: Boolean = true,
    executor: Executor? = null,
    callback: AuthPromptCallback
): AuthPrompt

Prompts the user to authenticate with a Class 2 biometric (e.g. fingerprint, face, or iris) or the screen lock credential (i.e. PIN, pattern, or password) for the device.

Note that Class 3 biometrics are guaranteed to meet the requirements for Class 2 and thus will also be accepted.

Parameters
title: CharSequence

The title to be displayed on the prompt.

subtitle: CharSequence? = null

An optional subtitle to be displayed on the prompt.

description: CharSequence? = null

An optional description to be displayed on the prompt.

confirmationRequired: Boolean = true

Whether user confirmation should be required for passive biometrics.

executor: Executor? = null

An executor for callback methods. If null, these will run on the main thread.

callback: AuthPromptCallback

The object that will receive and process authentication events.

Returns
AuthPrompt

An AuthPrompt handle to the shown prompt.

authenticateWithClass3Biometrics

suspend fun FragmentActivity.authenticateWithClass3Biometrics(
    crypto: BiometricPrompt.CryptoObject?,
    title: CharSequence,
    negativeButtonText: CharSequence,
    subtitle: CharSequence? = null,
    description: CharSequence? = null,
    confirmationRequired: Boolean = true
): BiometricPrompt.AuthenticationResult

Prompts the user to authenticate with a Class 3 biometric (e.g. fingerprint, face, or iris).

Parameters
crypto: BiometricPrompt.CryptoObject?

A cryptographic object to be associated with this authentication.

title: CharSequence

The title to be displayed on the prompt.

negativeButtonText: CharSequence

The label for the negative button on the prompt.

subtitle: CharSequence? = null

An optional subtitle to be displayed on the prompt.

description: CharSequence? = null

An optional description to be displayed on the prompt.

confirmationRequired: Boolean = true

Whether user confirmation should be required for passive biometrics.

Returns
BiometricPrompt.AuthenticationResult

AuthenticationResult for a successful authentication.

Throws
androidx.biometric.auth.AuthPromptErrorException

when an unrecoverable error has been encountered and authentication has stopped.

androidx.biometric.auth.AuthPromptFailureException

when an authentication attempt by the user has been rejected.

authenticateWithClass3Biometrics

fun FragmentActivity.authenticateWithClass3Biometrics(
    crypto: BiometricPrompt.CryptoObject?,
    title: CharSequence,
    negativeButtonText: CharSequence,
    subtitle: CharSequence? = null,
    description: CharSequence? = null,
    confirmationRequired: Boolean = true,
    executor: Executor? = null,
    callback: AuthPromptCallback
): AuthPrompt

Prompts the user to authenticate with a Class 3 biometric (e.g. fingerprint, face, or iris).

Parameters
crypto: BiometricPrompt.CryptoObject?

A cryptographic object to be associated with this authentication.

title: CharSequence

The title to be displayed on the prompt.

negativeButtonText: CharSequence

The label for the negative button on the prompt.

subtitle: CharSequence? = null

An optional subtitle to be displayed on the prompt.

description: CharSequence? = null

An optional description to be displayed on the prompt.

confirmationRequired: Boolean = true

Whether user confirmation should be required for passive biometrics.

executor: Executor? = null

An executor for callback methods. If null, these will run on the main thread.

callback: AuthPromptCallback

The object that will receive and process authentication events.

Returns
AuthPrompt

An AuthPrompt handle to the shown prompt.

authenticateWithClass3BiometricsOrCredentials

@RequiresApi(value = 30)
suspend fun FragmentActivity.authenticateWithClass3BiometricsOrCredentials(
    crypto: BiometricPrompt.CryptoObject?,
    title: CharSequence,
    subtitle: CharSequence? = null,
    description: CharSequence? = null,
    confirmationRequired: Boolean = true
): BiometricPrompt.AuthenticationResult

Prompts the user to authenticate with a Class 3 biometric (e.g. fingerprint, face, or iris) or the screen lock credential (i.e. PIN, pattern, or password) for the device.

Parameters
crypto: BiometricPrompt.CryptoObject?

A cryptographic object to be associated with this authentication.

title: CharSequence

The title to be displayed on the prompt.

subtitle: CharSequence? = null

An optional subtitle to be displayed on the prompt.

description: CharSequence? = null

An optional description to be displayed on the prompt.

confirmationRequired: Boolean = true

Whether user confirmation should be required for passive biometrics.

Returns
BiometricPrompt.AuthenticationResult

AuthenticationResult for a successful authentication.

Throws
androidx.biometric.auth.AuthPromptErrorException

when an unrecoverable error has been encountered and authentication has stopped.

androidx.biometric.auth.AuthPromptFailureException

when an authentication attempt by the user has been rejected.

startClass3BiometricOrCredentialAuthentication

@RequiresApi(value = 30)
fun FragmentActivity.startClass3BiometricOrCredentialAuthentication(
    crypto: BiometricPrompt.CryptoObject?,
    title: CharSequence,
    subtitle: CharSequence? = null,
    description: CharSequence? = null,
    confirmationRequired: Boolean = true,
    executor: Executor? = null,
    callback: AuthPromptCallback
): AuthPrompt

Prompts the user to authenticate with a Class 3 biometric (e.g. fingerprint, face, or iris) or the screen lock credential (i.e. PIN, pattern, or password) for the device.

Parameters
crypto: BiometricPrompt.CryptoObject?

A cryptographic object to be associated with this authentication.

title: CharSequence

The title to be displayed on the prompt.

subtitle: CharSequence? = null

An optional subtitle to be displayed on the prompt.

description: CharSequence? = null

An optional description to be displayed on the prompt.

confirmationRequired: Boolean = true

Whether user confirmation should be required for passive biometrics.

executor: Executor? = null

An executor for callback methods. If null, these will run on the main thread.

callback: AuthPromptCallback

The object that will receive and process authentication events.

Returns
AuthPrompt

An AuthPrompt handle to the shown prompt.

authenticateWithCredentials

@RequiresApi(value = 30)
suspend fun FragmentActivity.authenticateWithCredentials(
    crypto: BiometricPrompt.CryptoObject?,
    title: CharSequence,
    description: CharSequence? = null
): BiometricPrompt.AuthenticationResult

Prompts the user to authenticate with the screen lock credential (i.e. PIN, pattern, or password) for the device.

Parameters
crypto: BiometricPrompt.CryptoObject?

A cryptographic object to be associated with this authentication.

title: CharSequence

The title to be displayed on the prompt.

description: CharSequence? = null

An optional description to be displayed on the prompt.

Returns
BiometricPrompt.AuthenticationResult

AuthenticationResult for a successful authentication.

Throws
androidx.biometric.auth.AuthPromptErrorException

when an unrecoverable error has been encountered and authentication has stopped.

androidx.biometric.auth.AuthPromptFailureException

when an authentication attempt by the user has been rejected.

startCredentialAuthentication

@RequiresApi(value = 30)
fun FragmentActivity.startCredentialAuthentication(
    crypto: BiometricPrompt.CryptoObject?,
    title: CharSequence,
    description: CharSequence? = null,
    executor: Executor? = null,
    callback: AuthPromptCallback
): AuthPrompt

Prompts the user to authenticate with the screen lock credential (i.e. PIN, pattern, or password) for the device.

Parameters
crypto: BiometricPrompt.CryptoObject?

A cryptographic object to be associated with this authentication.

title: CharSequence

The title to be displayed on the prompt.

description: CharSequence? = null

An optional description to be displayed on the prompt.

executor: Executor? = null

An executor for callback methods. If null, these will run on the main thread.

callback: AuthPromptCallback

The object that will receive and process authentication events.

Returns
AuthPrompt

An AuthPrompt handle to the shown prompt.