Register now for Android Dev Summit 2019!

OnBackPressedCallback

public abstract class OnBackPressedCallback
extends Object

java.lang.Object
   ↳ androidx.activity.OnBackPressedCallback


Class for handling OnBackPressedDispatcher.onBackPressed() callbacks without strongly coupling that implementation to a subclass of ComponentActivity.

This class maintains its own enabled state. Only when this callback is enabled will it receive callbacks to handleOnBackPressed().

Note that the enabled state is an additional layer on top of the LifecycleOwner passed to OnBackPressedDispatcher.addCallback(LifecycleOwner, OnBackPressedCallback) which controls when the callback is added and removed to the dispatcher.

By calling remove(), this callback will be removed from any OnBackPressedDispatcher it has been added to. It is strongly recommended to instead disable this callback to handle temporary changes in state.

Summary

Public constructors

OnBackPressedCallback(boolean enabled)

Create a OnBackPressedCallback.

Public methods

abstract void handleOnBackPressed()

Callback for handling the OnBackPressedDispatcher.onBackPressed() event.

final boolean isEnabled()

Checks whether this callback should be considered enabled.

final void remove()

Removes this callback from any OnBackPressedDispatcher it is currently added to.

final void setEnabled(boolean enabled)

Set the enabled state of the callback.

Inherited methods

Public constructors

OnBackPressedCallback

public OnBackPressedCallback (boolean enabled)

Create a OnBackPressedCallback.

Parameters
enabled boolean: The default enabled state for this callback.

Public methods

handleOnBackPressed

public abstract void handleOnBackPressed ()

Callback for handling the OnBackPressedDispatcher.onBackPressed() event.

isEnabled

public final boolean isEnabled ()

Checks whether this callback should be considered enabled. Only when this callback is enabled will it receive callbacks to handleOnBackPressed().

Returns
boolean Whether this callback should be considered enabled.

remove

public final void remove ()

Removes this callback from any OnBackPressedDispatcher it is currently added to.

setEnabled

public final void setEnabled (boolean enabled)

Set the enabled state of the callback. Only when this callback is enabled will it receive callbacks to handleOnBackPressed().

Note that the enabled state is an additional layer on top of the LifecycleOwner passed to OnBackPressedDispatcher.addCallback(LifecycleOwner, OnBackPressedCallback) which controls when the callback is added and removed to the dispatcher.

Parameters
enabled boolean: whether the callback should be considered enabled