# OnUserLeaveHintProvider

# OnUserLeaveHintProvider

Artifact:[androidx.core:core](https://developer.android.com/jetpack/androidx/releases/core)  
[View Source](https://cs.android.com/search?q=file:androidx/core/app/OnUserLeaveHintProvider.kt+class:androidx.core.app.OnUserLeaveHintProvider)  
Added in[1.13.0](https://developer.android.com/jetpack/androidx/releases/core#1.13.0)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/core/app/OnUserLeaveHintProvider "View this page in Java")

<br />

```
interface OnUserLeaveHintProvider
```

<br />

Known direct subclasses  
[ComponentActivity](https://developer.android.com/reference/kotlin/androidx/activity/ComponentActivity)  

|---------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------|
| [ComponentActivity](https://developer.android.com/reference/kotlin/androidx/activity/ComponentActivity) | Base class for activities that enables composition of higher level components. |

Known indirect subclasses  
[AppCompatActivity](https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatActivity),[BaseCarAppActivity](https://developer.android.com/reference/kotlin/androidx/car/app/activity/BaseCarAppActivity),[CarAppActivity](https://developer.android.com/reference/kotlin/androidx/car/app/activity/CarAppActivity),[FragmentActivity](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentActivity),[LauncherActivity](https://developer.android.com/reference/kotlin/androidx/car/app/activity/LauncherActivity),[PreviewActivity](https://developer.android.com/reference/kotlin/androidx/compose/ui/tooling/PreviewActivity)  

|-------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------|
| [AppCompatActivity](https://developer.android.com/reference/kotlin/androidx/appcompat/app/AppCompatActivity)      | Base class for activities that wish to use some of the newer platform features on older Android devices.                                                |
| [BaseCarAppActivity](https://developer.android.com/reference/kotlin/androidx/car/app/activity/BaseCarAppActivity) | Core logic for CarAppLibrary Activity interaction with a host.                                                                                          |
| [CarAppActivity](https://developer.android.com/reference/kotlin/androidx/car/app/activity/CarAppActivity)         | The class representing a car app activity in the main display.                                                                                          |
| [FragmentActivity](https://developer.android.com/reference/kotlin/androidx/fragment/app/FragmentActivity)         | Base class for activities that want to use the support-based[Fragments](https://developer.android.com/reference/kotlin/androidx/fragment/app/Fragment). |
| [LauncherActivity](https://developer.android.com/reference/kotlin/androidx/car/app/activity/LauncherActivity)     | This class handles providing the right launcher activity when running native applications and Car App Library applications.                             |
| [PreviewActivity](https://developer.android.com/reference/kotlin/androidx/compose/ui/tooling/PreviewActivity)     | Activity used to run`@Composable`previews from Android Studio.                                                                                          |

*** ** * ** ***

Interface for components that can dispatch calls from[Activity.onUserLeaveHint](https://developer.android.com/reference/android/app/Activity.html#onUserLeaveHint()).

## Summary

|                             ### Public functions                              |
|-------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [addOnUserLeaveHintListener](https://developer.android.com/reference/kotlin/androidx/core/app/OnUserLeaveHintProvider#addOnUserLeaveHintListener(java.lang.Runnable))`(listener: `[Runnable](https://developer.android.com/reference/java/lang/Runnable.html)`)` Add a new listener that will get a callback associated with[Activity.onUserLeaveHint](https://developer.android.com/reference/android/app/Activity.html#onUserLeaveHint()) |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [removeOnUserLeaveHintListener](https://developer.android.com/reference/kotlin/androidx/core/app/OnUserLeaveHintProvider#removeOnUserLeaveHintListener(java.lang.Runnable))`(listener: `[Runnable](https://developer.android.com/reference/java/lang/Runnable.html)`)` Remove a previously added listener.                                                                                                                                  |

## Public functions

### addOnUserLeaveHintListener

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

```
fun addOnUserLeaveHintListener(listener: Runnable): Unit
```

Add a new listener that will get a callback associated with[Activity.onUserLeaveHint](https://developer.android.com/reference/android/app/Activity.html#onUserLeaveHint())  

|                                       Parameters                                        |
|-----------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `listener: `[Runnable](https://developer.android.com/reference/java/lang/Runnable.html) | The listener that should be called whenever[Activity.onUserLeaveHint](https://developer.android.com/reference/android/app/Activity.html#onUserLeaveHint())was called. |

### removeOnUserLeaveHintListener

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

```
fun removeOnUserLeaveHintListener(listener: Runnable): Unit
```

Remove a previously added listener. It will not receive any future callbacks.  

|                                       Parameters                                        |
|-----------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `listener: `[Runnable](https://developer.android.com/reference/java/lang/Runnable.html) | The listener previously added with[addOnUserLeaveHintListener](https://developer.android.com/reference/kotlin/androidx/core/app/OnUserLeaveHintProvider#addOnUserLeaveHintListener(java.lang.Runnable))that should be removed. |