ear#explore-our-kits)
  * UI Design 
  * [ Design for Android  ](/design/ui)
  * [ Mobile  ](/design/ui/mobile)
  * [ Large screens (e.g. Tablets)  ](/design/ui/large-screens)
  * [ Wear OS  ](/design/ui/wear)
  * [ Android TV  ](/design/ui/tv)
  * Architecture 
  * [ Introduction  ](/topic/architecture/intro)
  * [ Libraries  ](/topic/libraries/view-binding)
  * [ Navigation  ](/guide/navigation/navigation-principles)
  * [ Modularization  ](/topic/modularization)
  * [ Testing  ](/training/testing/fundamentals)
  * Quality 
  * [ Overview  ](/quality)
  * [ Core value  ](/quality/core-value)
  * [ User experience  ](/quality/user-experience)
  * [ Technical quality  ](/quality/technical)
  * [ Privacy & security  ](/quality/privacy-and-security)
  * Build for Billions 
  * [ Overview  ](/build-for-billions)
  * [ About new markets  ](/docs/quality-guidelines/build-for-billions)
  * [ Android (Go edition)  ](/guide/topics/androidgo)

  * Android Studio 
  * [ Get Android Studio  ](/studio)
  * [ Start coding  ](/studio/write)
  * Core areas 
  * [ User interfaces  ](/develop/ui)
  * [ Permissions  ](/guide/topics/permissions/overview)
  * [ Background work  ](/develop/background-work)
  * [ Data and files  ](/guide/topics/data)
  * [ User identity  ](/training/sign-in)
  * [ Camera  ](/training/camera/choose-camera-library)
  * [ All core areas ⤵️  ](/develop#core-areas)
  * Tools and workflow 
  * [ Write and debug code  ](/studio/write)
  * [ Build projects  ](/build)
  * [ Test your app  ](/training/testing)
  * [ Performance  ](/topic/performance/overview)
  * [ Command-line tools  ](/tools)
  * [ Gradle plugin API  ](/reference/tools/gradle-api)
  * Devices 
  * [ Large screens (e.g. Tablets)  ](/guide/topics/large-screens/get-started-with-large-screens)
  * [ Wear OS  ](/training/wearables)
  * [ Android for Cars  ](/training/cars)
  * [ Android TV  ](/training/tv)
  * [ ChromeOS  ](/chrome-os/intro)
  * Libraries 
  * [ Android platform  ](/reference/packages)
  * [ Jetpack libraries  ](/jetpack/androidx/explorer)
  * [ Compose libraries  ](/jetpack/androidx/releases/compose)
  * [ Google Play services ↗️  ](https://developers.google.com/android/reference/packages)
  * [ Google Play SDK index ↗️  ](https://play.google.com/sdks)

  * [ Android Developers ](https://developer.android.com/)
  * [ Develop ](https://developer.android.com/develop)
  * [ Core areas ](https://developer.android.com/develop/core-areas)
  * [ Connectivity ](https://developer.android.com/develop/connectivity)
  * [ Guides ](https://developer.android.com/develop/connectivity/overview)

#  Monitor connectivity status and connection metering

Stay organized with collections  Save and categorize content based on your
preferences.

The [ ` ConnectivityManager ` ](/reference/android/net/ConnectivityManager)
provides an API that enables you to request that the device connect to a
network based on various conditions that include device capabilities and data
transport options.

The callback implementation provides information to your app about the
device's connection status as well as the capabilities of the currently
connected network. The API enables you to determine whether the device is
currently connected to a network that satisfies your app’s requirements.

##  Configure a network request

To specify the transport type of the network, such as Wi-Fi or cellular
connection, and the currently connected network's capabilities, such as
internet connection, you must configure a network request.

Declare a [ ` NetworkRequest ` ](/reference/android/net/NetworkRequest) that
describes your app’s network connection needs. The following code creates a
request for a network that is connected to the internet and uses either a Wi-
Fi or cellular connection for the transport type.

###  Kotlin

    
    
    val networkRequest = NetworkRequest.Builder()
            .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
            .addTransportType(NetworkCapabi