how to check internet connection in android programmatically kotlin

Checking Internet Connection in Android Using Kotlin

import android.content.Context
import android.net.ConnectivityManager
import android.net.NetworkCapabilities
import android.os.Build

fun isInternetConnected(context: Context): Boolean {
    val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        val network = connectivityManager.activeNetwork
        val networkCapabilities = connectivityManager.getNetworkCapabilities(network)
        return networkCapabilities?.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) == true
    } else {
        val networkInfo = connectivityManager.activeNetworkInfo
        return networkInfo?.isConnected == true
    }
}

This Kotlin code defines a function isInternetConnected that checks for an active internet connection in an Android app. It uses the ConnectivityManager to get information about the network connection. Depending on the Android version, it either uses NetworkCapabilities (for Android M and above) or NetworkInfo to determine if the device is connected to the internet.