Stay organized with collections
Save and categorize content based on your preferences.
Interfaces
Classes
Extension functions summary
Extension functions
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-05-15 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-15 UTC."],[],[],null,["# androidx.activity.contextaware\n==============================\n\n*** ** * ** ***\n\nKotlin \\|[Java](/reference/androidx/activity/contextaware/package-summary \"View this page in Java\")\n\nInterfaces\n----------\n\n|-----------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [ContextAware](/reference/kotlin/androidx/activity/contextaware/ContextAware) | A `ContextAware` class is associated with a [Context](https://developer.android.com/reference/android/content/Context.html) sometime after the class is instantiated. |\n| [OnContextAvailableListener](/reference/kotlin/androidx/activity/contextaware/OnContextAvailableListener) | Listener for receiving a callback at the first moment a [Context](https://developer.android.com/reference/android/content/Context.html) is made available to the [ContextAware](/reference/kotlin/androidx/activity/contextaware/ContextAware) class. |\n\nClasses\n-------\n\n|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|\n| [ContextAwareHelper](/reference/kotlin/androidx/activity/contextaware/ContextAwareHelper) | Helper class for implementing [ContextAware](/reference/kotlin/androidx/activity/contextaware/ContextAware). |\n\nExtension functions summary\n---------------------------\n\n|--------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `suspend inline R` | `\u003cR : `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?\u003e `[ContextAware](/reference/kotlin/androidx/activity/contextaware/ContextAware)`.`[withContextAvailable](/reference/kotlin/androidx/activity/contextaware/package-summary#(androidx.activity.contextaware.ContextAware).withContextAvailable(kotlin.Function1))`(` ` crossinline onContextAvailable: (`[Context](https://developer.android.com/reference/android/content/Context.html)`) `-\u003e` R` `)` Run [onContextAvailable](/reference/kotlin/androidx/activity/contextaware/package-summary#(androidx.activity.contextaware.ContextAware).withContextAvailable(kotlin.Function1)) when the [Context](https://developer.android.com/reference/android/content/Context.html) becomes available and resume with the result. |\n\nExtension functions\n-------------------\n\n### withContextAvailable\n\nArtifact: [androidx.activity:activity](/jetpack/androidx/releases/activity) \n[View Source](https://cs.android.com/search?q=file:androidx/activity/contextaware/ContextAware.kt+function:withContextAvailable) \n\n```\nsuspend inline fun \u003cR : Any?\u003e ContextAware.withContextAvailable(\n crossinline onContextAvailable: (Context) -\u003e R\n): R\n```\n\nRun [onContextAvailable](/reference/kotlin/androidx/activity/contextaware/package-summary#(androidx.activity.contextaware.ContextAware).withContextAvailable(kotlin.Function1)) when the [Context](https://developer.android.com/reference/android/content/Context.html) becomes available and resume with the result.\n\nIf the [Context](https://developer.android.com/reference/android/content/Context.html) is already available, [onContextAvailable](/reference/kotlin/androidx/activity/contextaware/package-summary#(androidx.activity.contextaware.ContextAware).withContextAvailable(kotlin.Function1)) will be synchronously called on the current coroutine context. Otherwise, [onContextAvailable](/reference/kotlin/androidx/activity/contextaware/package-summary#(androidx.activity.contextaware.ContextAware).withContextAvailable(kotlin.Function1)) will be called on the UI thread immediately when the Context becomes available."]]