# 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)

*** ** * ** ***

Common/AllAndroid/JVMJavaScript
- android

  ```
  @Navigator.Name(value = "activity")
  open class ActivityNavigator : Navigator<ActivityNavigator.Destination>
  ```

|---|---|---|
| [kotlin.Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html) |||
| ↳ | [androidx.navigation.Navigator](https://developer.android.com/reference/kotlin/androidx/navigation/Navigator)\<[ActivityNavigator.Destination](https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigator.Destination)\> ||
|   | ↳ | [androidx.navigation.ActivityNavigator](https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigator) |

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

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

*** ** * ** ***

ActivityNavigator implements cross-activity navigation.

## Summary

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

| ### Public companion functions |
|---|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigator#applyPopAnimationsToPendingTransition(android.app.Activity)(activity: https://developer.android.com/reference/android/app/Activity.html)` Apply any pop animations in the Intent of the given Activity to a pending transition. | android |

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

| ### Public functions |
|---|---|---|
| `open https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigator.Destination` | `https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigator#createDestination()()` Construct a new NavDestination associated with this Navigator. | android |
| `open https://developer.android.com/reference/kotlin/androidx/navigation/NavDestination?` | `https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigator#navigate(androidx.navigation.ActivityNavigator.Destination,android.os.Bundle,androidx.navigation.NavOptions,androidx.navigation.Navigator.Extras)( destination: https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigator.Destination, args: https://developer.android.com/reference/android/os/Bundle.html?, navOptions: https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions?, navigatorExtras: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Extras? )` Navigate to a destination. | android |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigator#popBackStack()()` Attempt to pop this navigator's back stack, performing the appropriate navigation. | android |

### Inherited functions

From [androidx.navigation.Navigator](https://developer.android.com/reference/kotlin/androidx/navigation/Navigator) `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator#navigate(kotlin.collections.List,androidx.navigation.NavOptions,androidx.navigation.Navigator.Extras)(
entries: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry>,
navOptions: https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions?,
navigatorExtras: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Extras?
)`

Navigate to a destination.
android `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `@https://developer.android.com/reference/kotlin/androidx/annotation/CallSuper
https://developer.android.com/reference/kotlin/androidx/navigation/Navigator#onAttach(androidx.navigation.NavigatorState)(state: https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState)`

Indicator that this Navigator is actively being used by a `https://developer.android.com/reference/kotlin/androidx/navigation/NavController`.
android `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator#onLaunchSingleTop(androidx.navigation.NavBackStackEntry)(backStackEntry: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry)`

Informational callback indicating that the given `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator#onLaunchSingleTop(androidx.navigation.NavBackStackEntry)` has been affected by a `https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions#shouldLaunchSingleTop()` operation.
android `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator#onRestoreState(androidx.savedstate.SavedState)(savedState: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState)`

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

Called to ask for a `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` representing the Navigator's state.
android `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator#popBackStack(androidx.navigation.NavBackStackEntry,kotlin.Boolean)(popUpTo: https://developer.android.com/reference/kotlin/androidx/navigation/NavBackStackEntry, savedState: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`

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

### Inherited properties

From [androidx.navigation.Navigator](https://developer.android.com/reference/kotlin/androidx/navigation/Navigator) `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator#isAttached()`

Whether this Navigator is actively being used by a `https://developer.android.com/reference/kotlin/androidx/navigation/NavController`.
android `https://developer.android.com/reference/kotlin/androidx/navigation/NavigatorState` `https://developer.android.com/reference/kotlin/androidx/navigation/Navigator#state()`

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

## Public companion functions

### applyPopAnimationsToPendingTransition

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

```
fun applyPopAnimationsToPendingTransition(activity: Activity): Unit
```

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 |
|---|---|
| `activity: https://developer.android.com/reference/android/app/Activity.html` | An activity started from the `https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigator`. |

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

## Public constructors

### ActivityNavigator

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

```
ActivityNavigator(context: Context)
```

## Public functions

### createDestination

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

```
open fun createDestination(): ActivityNavigator.Destination
```

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/kotlin/androidx/navigation/ActivityNavigator.Destination` | a new NavDestination |

### navigate

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

```
open fun navigate(
    destination: ActivityNavigator.Destination,
    args: Bundle?,
    navOptions: NavOptions?,
    navigatorExtras: Navigator.Extras?
): NavDestination?
```

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 |
|---|---|
| `destination: https://developer.android.com/reference/kotlin/androidx/navigation/ActivityNavigator.Destination` | destination node to navigate to |
| `args: https://developer.android.com/reference/android/os/Bundle.html?` | arguments to use for navigation |
| `navOptions: https://developer.android.com/reference/kotlin/androidx/navigation/NavOptions?` | additional options for navigation |
| `navigatorExtras: https://developer.android.com/reference/kotlin/androidx/navigation/Navigator.Extras?` | extras unique to your Navigator. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/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

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

```
open fun popBackStack(): Boolean
```

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 |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `true` if pop was successful |