# ActivityNavigator

Artifact: [androidx.navigation:navigation-runtime](https://developer.android.com/jetpack/androidx/releases/navigation) [View Source](https://cs.android.com/search?q=file:androidx/navigation/ActivityNavigator.android.kt+class:androidx.navigation.ActivityNavigator) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

*** ** * ** ***


```
@Navigator.Name(value = "activity")
public class ActivityNavigator extends Navigator<@NonNull ActivityNavigator.Destination>
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [androidx.navigation.Navigator](https://developer.android.com/reference/androidx/navigation/Navigator)\<@[NonNull](https://developer.android.com/reference/androidx/annotation/NonNull) [ActivityNavigator.Destination](https://developer.android.com/reference/androidx/navigation/ActivityNavigator.Destination)\> ||
|   | ↳ | [androidx.navigation.ActivityNavigator](https://developer.android.com/reference/androidx/navigation/ActivityNavigator) |

Known direct subclasses [DynamicActivityNavigator](https://developer.android.com/reference/androidx/navigation/dynamicfeatures/DynamicActivityNavigator)

|---|---|
| `https://developer.android.com/reference/androidx/navigation/dynamicfeatures/DynamicActivityNavigator` | Dynamic feature navigator for Activity destinations. |

*** ** * ** ***

ActivityNavigator implements cross-activity navigation.

## Summary

| ### Nested types |
|---|
| `@https://developer.android.com/reference/androidx/navigation/NavDestination.ClassType(value = https://developer.android.com/reference/android/app/Activity.html) public class https://developer.android.com/reference/androidx/navigation/ActivityNavigator.Destination extends https://developer.android.com/reference/androidx/navigation/NavDestination` NavDestination for activity navigation |
| `public final class https://developer.android.com/reference/androidx/navigation/ActivityNavigator.Extras implements https://developer.android.com/reference/androidx/navigation/Navigator.Extras` Extras that can be passed to ActivityNavigator to customize what `https://developer.android.com/reference/androidx/core/app/ActivityOptionsCompat` and flags are passed through to the call to `https://developer.android.com/reference/androidx/core/content/ContextCompat#startActivity(android.content.Context,android.content.Intent,android.os.Bundle)`. |
| `public final class https://developer.android.com/reference/androidx/navigation/ActivityNavigator.Extras.Builder` Builder for constructing new `https://developer.android.com/reference/androidx/navigation/ActivityNavigator.Extras` instances. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/navigation/ActivityNavigator#ActivityNavigator(android.content.Context)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/content/Context.html context)` |

| ### Public methods |
|---|---|
| `static final void` | `https://developer.android.com/reference/androidx/navigation/ActivityNavigator#applyPopAnimationsToPendingTransition(android.app.Activity)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/app/Activity.html activity)` Apply any pop animations in the Intent of the given Activity to a pending transition. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/ActivityNavigator.Destination` | `https://developer.android.com/reference/androidx/navigation/ActivityNavigator#createDestination()()` Construct a new NavDestination associated with this Navigator. |
| `https://developer.android.com/reference/androidx/navigation/NavDestination` | `https://developer.android.com/reference/androidx/navigation/ActivityNavigator#navigate(androidx.navigation.ActivityNavigator.Destination,android.os.Bundle,androidx.navigation.NavOptions,androidx.navigation.Navigator.Extras)( @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/ActivityNavigator.Destination destination, https://developer.android.com/reference/android/os/Bundle.html args, https://developer.android.com/reference/androidx/navigation/NavOptions navOptions, https://developer.android.com/reference/androidx/navigation/Navigator.Extras navigatorExtras )` Navigate to a destination. |
| `boolean` | `https://developer.android.com/reference/androidx/navigation/ActivityNavigator#popBackStack()()` Attempt to pop this navigator's back stack, performing the appropriate navigation. |

### Inherited methods

From [androidx.navigation.Navigator](https://developer.android.com/reference/androidx/navigation/Navigator) `final @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavigatorState` `https://developer.android.com/reference/androidx/navigation/Navigator#getState()()`

The state of the Navigator is the communication conduit between the Navigator and the `https://developer.android.com/reference/androidx/navigation/NavController` that has called `https://developer.android.com/reference/androidx/navigation/Navigator#onAttach(androidx.navigation.NavigatorState)`.
`final boolean` `https://developer.android.com/reference/androidx/navigation/Navigator#isAttached()()`

Whether this Navigator is actively being used by a `https://developer.android.com/reference/androidx/navigation/NavController`.
`void` `https://developer.android.com/reference/androidx/navigation/Navigator#navigate(kotlin.collections.List,androidx.navigation.NavOptions,androidx.navigation.Navigator.Extras)(
@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavBackStackEntry> entries,
https://developer.android.com/reference/androidx/navigation/NavOptions navOptions,
https://developer.android.com/reference/androidx/navigation/Navigator.Extras navigatorExtras
)`

Navigate to a destination.
`void` `@https://developer.android.com/reference/androidx/annotation/CallSuper
https://developer.android.com/reference/androidx/navigation/Navigator#onAttach(androidx.navigation.NavigatorState)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavigatorState state)`

Indicator that this Navigator is actively being used by a `https://developer.android.com/reference/androidx/navigation/NavController`.
`void` `https://developer.android.com/reference/androidx/navigation/Navigator#onLaunchSingleTop(androidx.navigation.NavBackStackEntry)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavBackStackEntry backStackEntry)`

Informational callback indicating that the given `https://developer.android.com/reference/androidx/navigation/Navigator#onLaunchSingleTop(androidx.navigation.NavBackStackEntry)` has been affected by a `https://developer.android.com/reference/androidx/navigation/NavOptions#shouldLaunchSingleTop()` operation.
`void` `https://developer.android.com/reference/androidx/navigation/Navigator#onRestoreState(androidx.savedstate.SavedState)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/savedstate/SavedState savedState)`

Restore any state previously saved in `https://developer.android.com/reference/androidx/navigation/Navigator#onSaveState()`.
`https://developer.android.com/reference/androidx/savedstate/SavedState` `https://developer.android.com/reference/androidx/navigation/Navigator#onSaveState()()`

Called to ask for a `https://developer.android.com/reference/androidx/savedstate/SavedState` representing the Navigator's state.
`void` `https://developer.android.com/reference/androidx/navigation/Navigator#popBackStack(androidx.navigation.NavBackStackEntry,kotlin.Boolean)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/NavBackStackEntry popUpTo, boolean savedState)`

Attempt to pop this navigator's back stack, performing the appropriate navigation.

## Public constructors

### ActivityNavigator

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
public ActivityNavigator(@NonNull Context context)
```

## Public methods

### applyPopAnimationsToPendingTransition

Added in [2.4.0](https://developer.android.com/jetpack/androidx/releases/navigation#2.4.0)

```
public static final void applyPopAnimationsToPendingTransition(@NonNull Activity activity)
```

Apply any pop animations in the Intent of the given Activity to a pending transition. This should be used in place of `https://developer.android.com/reference/android/app/Activity.html#overridePendingTransition(int, int)` to get the appropriate pop animations.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/app/Activity.html activity` | An activity started from the `https://developer.android.com/reference/androidx/navigation/ActivityNavigator`. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/navigation/NavOptions#popEnterAnim()` |   |
| `https://developer.android.com/reference/androidx/navigation/NavOptions#popExitAnim()` |   |

### createDestination

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
public @NonNull ActivityNavigator.Destination createDestination()
```

Construct a new NavDestination associated with this Navigator.

Any initialization of the destination should be done in the destination's constructor as it is not guaranteed that every destination will be created through this method.

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/ActivityNavigator.Destination` | a new NavDestination |

### navigate

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
public NavDestination navigate(
    @NonNull ActivityNavigator.Destination destination,
    Bundle args,
    NavOptions navOptions,
    Navigator.Extras navigatorExtras
)
```

Navigate to a destination.

Requests navigation to a given destination associated with this navigator in the
navigation graph. This method generally should not be called directly; NavController will
delegate to it when appropriate.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/navigation/ActivityNavigator.Destination destination` | destination node to navigate to |
| `https://developer.android.com/reference/android/os/Bundle.html args` | arguments to use for navigation |
| `https://developer.android.com/reference/androidx/navigation/NavOptions navOptions` | additional options for navigation |
| `https://developer.android.com/reference/androidx/navigation/Navigator.Extras navigatorExtras` | extras unique to your Navigator. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/navigation/NavDestination` | The NavDestination that should be added to the back stack or null if no change was made to the back stack (i.e., in cases of single top operations where the destination is already on top of the back stack). |

| Throws |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-illegal-argument-exception/index.html` | if the given destination has no Intent |

### popBackStack

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/navigation#1.0.0)

```
public boolean popBackStack()
```

Attempt to pop this navigator's back stack, performing the appropriate navigation.

Implementations should return `true` if navigation was successful. Implementations should return `false` if navigation could not be performed, for example if the navigator's back stack was empty.

| Returns |
|---|---|
| `boolean` | `true` if pop was successful |