🌐 Connectivity Manager - āϏāĻšāϜ āĻ­াāώাāϝ় āĻŦোāĻাāϰ āϜāύ্āϝ āĻ—াāχāĻĄ (āĻŦাংāϞাāϝ়) (Kotlin Version)

 

🌐 Connectivity Manager - āϏāĻšāϜ āĻ­াāώাāϝ় āĻŦোāĻাāϰ āϜāύ্āϝ āĻ—াāχāĻĄ (āĻŦাংāϞাāϝ়) (Kotlin Version)

Connectivity Manager āĻšāϞো Android-āĻāϰ āύেāϟāĻ“āϝ়াāϰ্āĻ• āϏংāϝোāĻ— āύি⧟āύ্āϤ্āϰāĻŖ āĻ“ āĻĒāϰ্āϝāĻŦেāĻ•্āώāĻŖেāϰ āϜāύ্āϝ āĻāĻ•āϟি āĻ—ুāϰুāϤ্āĻŦāĻĒূāϰ্āĻŖ āϏাāϰ্āĻ­িāϏ। āϏāĻšāϜ āĻ­াāώাāϝ় āĻŦāϞāϞে, āĻāϟি āφāĻĒāύাāϰ āĻĄিāĻ­াāχāϏে āχāύ্āϟাāϰāύেāϟ āφāĻ›ে āĻ•িāύা, āĻŽোāĻŦাāχāϞ āĻĄাāϟা āύাāĻ•ি Wi-Fi āϚাāϞু āφāĻ›ে, āύেāϟāĻ“āϝ়াāϰ্āĻ•েāϰ āϧāϰāύ āĻ•ী—āĻāχ āϏāĻŦāĻ•িāĻ›ু āϚেāĻ• āĻ“ āĻŽ্āϝাāύেāϜ āĻ•āϰāϤে āϏাāĻšাāϝ্āϝ āĻ•āϰে


📌 Connectivity Manager āĻ•ী āĻ•āϰে?

āχāύ্āϟাāϰāύেāϟ āϏংāϝোāĻ— āφāĻ›ে āĻ•িāύা āϚেāĻ• āĻ•āϰে
Wi-Fi, āĻŽোāĻŦাāχāϞ āĻĄাāϟা, VPN āχāϤ্āϝাāĻĻি āϚেāĻ• āĻ“ āϏুāχāϚ āĻ•āϰāϤে āϏাāĻšাāϝ্āϝ āĻ•āϰে
āύেāϟāĻ“āϝ়াāϰ্āĻ•েāϰ āϧāϰāύ (4G, 5G, Wi-Fi) āϚেāĻ• āĻ•āϰা āϝা⧟
āύেāϟāĻ“āϝ়াāϰ্āĻ• āĻĒāϰিāĻŦāϰ্āϤāύ āĻšāϞে āĻ…āϟোāĻŽেāϟিāĻ• āύোāϟিāĻĢাāχ āĻ•āϰে
āχāύ্āϟাāϰāύেāϟ āϏ্āϞো āύাāĻ•ি āĻĢাāϏ্āϟ, āϏেāϟাāĻ“ āĻĒāϰোāĻ•্āώāĻ­াāĻŦে āϚেāĻ• āĻ•āϰা āϏāĻŽ্āĻ­āĻŦ


🏗 Connectivity Manager āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰাāϰ āωāĻĒাāϝ়

1️⃣ āĻĒ্āϰāĻĨāĻŽে āĻĒাāϰāĻŽিāĻļāύ āĻĻিāύ

Connectivity āϏংāĻ•্āϰাāύ্āϤ āϤāĻĨ্āϝ āĻĒেāϤে AndroidManifest.xml āĻĢাāχāϞে āύিāϚেāϰ āĻĒাāϰāĻŽিāĻļāύ āϝোāĻ— āĻ•āϰুāύ:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>

📌 āĻ•েāύ āĻĻāϰāĻ•াāϰ?
ACCESS_NETWORK_STATE → āύেāϟāĻ“āϝ়াāϰ্āĻ• āϏংāϝোāĻ— āϏāĻŽ্āĻĒāϰ্āĻ•ে āϤāĻĨ্āϝ āĻĒেāϤে
INTERNET → āχāύ্āϟাāϰāύেāϟ āĻŦ্āϝāĻŦāĻšাāϰেāϰ āĻ…āύুāĻŽāϤি āĻĻিāϤে


2️⃣ ConnectivityManager āĻ…āĻŦāϜেāĻ•্āϟ āϤৈāϰি āĻ•āϰুāύ

Connectivity āϏংāĻ•্āϰাāύ্āϤ āϤāĻĨ্āϝ āĻĒেāϤে āύিāϚেāϰ āĻŽāϤো ConnectivityManager āĻ…āĻŦāϜেāĻ•্āϟ āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāϤে āĻšāĻŦে:

val connectivityManager = getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager

📌 āĻāϟি āĻ•ী āĻ•āϰāĻŦে?
✔ āĻāϟি āφāĻĒāύাāϰ āĻĄিāĻ­াāχāϏেāϰ āύেāϟāĻ“āϝ়াāϰ্āĻ• āϏংāĻ•্āϰাāύ্āϤ āϏāĻ•āϞ āϤāĻĨ্āϝ āĻ…্āϝাāĻ•্āϏেāϏ āĻ•āϰāϤে āϏাāĻšাāϝ্āϝ āĻ•āϰāĻŦে


3️⃣ āχāύ্āϟাāϰāύেāϟ āϏংāϝোāĻ— āφāĻ›ে āĻ•ি āύা āϚেāĻ• āĻ•āϰা

āφāĻŽāϰা āϚেāĻ• āĻ•āϰāϤে āĻĒাāϰি āϝে āĻĢোāύে āχāύ্āϟাāϰāύেāϟ āϏংāϝোāĻ— āφāĻ›ে āĻ•িāύা āĻāχ āĻĒāĻĻ্āϧāϤিāϤে:

fun isInternetAvailable(context: Context): Boolean {
    val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
    val networkInfo = connectivityManager.activeNetworkInfo
    return networkInfo != null && networkInfo.isConnected
}

📌 āĻāϟি āĻ•ী āĻ•āϰāĻŦে?
✔ āϝāĻĻি āχāύ্āϟাāϰāύেāϟ āϚাāϞু āĻĨাāĻ•ে, āϤাāĻšāϞে true āϰিāϟাāϰ্āύ āĻ•āϰāĻŦে
✔ āϝāĻĻি āχāύ্āϟাāϰāύেāϟ āĻŦāύ্āϧ āĻĨাāĻ•ে, āϤাāĻšāϞে false āϰিāϟাāϰ্āύ āĻ•āϰāĻŦে


4️⃣ āĻŦāϰ্āϤāĻŽাāύে āĻ•োāύ āύেāϟāĻ“āϝ়াāϰ্āĻ• āϏংāϝোāĻ— āϚাāϞু āφāĻ›ে? (Wi-Fi āύা āĻŽোāĻŦাāχāϞ āĻĄাāϟা?)

fun getNetworkType(context: Context): String {
    val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
    val networkInfo = connectivityManager.activeNetworkInfo

    return when {
        networkInfo != null && networkInfo.isConnected -> {
            when (networkInfo.type) {
                ConnectivityManager.TYPE_WIFI -> "Wi-Fi"
                ConnectivityManager.TYPE_MOBILE -> "Mobile Data"
                else -> "Unknown"
            }
        }
        else -> "No Internet"
    }
}

📌 āĻāϟি āĻ•ী āĻ•āϰāĻŦে?
✔ āĻŦāϞāĻŦে āφāĻĒāύি Wi-Fi āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāĻ›েāύ āύাāĻ•ি āĻŽোāĻŦাāχāϞ āĻĄাāϟা


5️⃣ āύেāϟāĻ“āϝ়াāϰ্āĻ• āĻĒāϰিāĻŦāϰ্āϤāύ āĻĄিāϟেāĻ•্āϟ āĻ•āϰা (Live Monitoring)

Android 7.0 (API 24+) āĻĨেāĻ•ে NetworkCallback API āĻāϏেāĻ›ে, āϝা āύেāϟāĻ“āϝ়াāϰ্āĻ• āĻĒāϰিāĻŦāϰ্āϤāύ āĻšāϞে āϏাāĻĨে āϏাāĻĨে āϜাāύিāϝ়ে āĻĻেāϝ়

val connectivityManager = getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager

val networkRequest = NetworkRequest.Builder().build()

connectivityManager.registerNetworkCallback(networkRequest, object : ConnectivityManager.NetworkCallback() {
    override fun onAvailable(network: Network) {
        Log.d("Network Status", "Internet Connected")
    }

    override fun onLost(network: Network) {
        Log.d("Network Status", "Internet Disconnected")
    }
})

📌 āĻāϟি āĻ•ী āĻ•āϰāĻŦে?
✔ āϝāĻĻি āύেāϟāĻ“āϝ়াāϰ্āĻ• āϏংāϝোāĻ— āφāϏে, āϤাāĻšāϞে onAvailable() āĻŽেāĻĨāĻĄ āϚāϞāĻŦে
✔ āϝāĻĻি āύেāϟāĻ“āϝ়াāϰ্āĻ• āϚāϞে āϝাāϝ়, āϤাāĻšāϞে onLost() āĻŽেāĻĨāĻĄ āϚāϞāĻŦে


🚀 Connectivity Manager āĻĻি⧟ে āĻ•ী āĻ•ী āĻ•āϰা āϏāĻŽ্āĻ­āĻŦ?

āχāύ্āϟাāϰāύেāϟ āϏংāϝোāĻ— āφāĻ›ে āĻ•ি āύা āϚেāĻ• āĻ•āϰা
Wi-Fi, āĻŽোāĻŦাāχāϞ āĻĄাāϟা āϚāϞāĻ›ে āĻ•িāύা āύিāϰ্āϧাāϰāĻŖ āĻ•āϰা
āύেāϟāĻ“āϝ়াāϰ্āĻ• āĻĒāϰিāĻŦāϰ্āϤāύ āĻšāϞে āϏাāĻĨে āϏাāĻĨে āϜাāύāϤে āĻĒাāϰা
āχāύ্āϟাāϰāύেāϟ āϏ্āϞো āύাāĻ•ি āĻĢাāϏ্āϟ, āϏেāϟাāϰ āϧাāϰāĻŖা āĻĒাāĻ“āϝ়া


āϏāϤāϰ্āĻ•āϤা

🔴 Android 9 (Pie) āĻĨেāĻ•ে āĻĄাāϟা āĻ…āύ/āĻ…āĻĢ āĻ•āϰাāϰ API āĻŦ্āϞāĻ• āĻ•āϰা āĻšāϝ়েāĻ›ে
🔴 Android 10+ āĻ IMEI āĻŦা Mac Address āĻ…্āϝাāĻ•্āϏেāϏ āϏীāĻŽিāϤ āĻ•āϰা āĻšāϝ়েāĻ›ে
🔴 ACCESS_NETWORK_STATE āĻĒাāϰāĻŽিāĻļāύ āύা āĻĨাāĻ•āϞে āĻ•িāĻ›ু āĻĢিāϚাāϰ āĻ•াāϜ āĻ•āϰāĻŦে āύা


đŸŽ¯ āĻļেāώ āĻ•āĻĨা

Connectivity Manager āĻšāϞো āĻāĻŽāύ āĻāĻ•āϟি āϏিāϏ্āϟেāĻŽ āϏাāϰ্āĻ­িāϏ, āϝা āύেāϟāĻ“āϝ়াāϰ্āĻ• āϏংāĻ•্āϰাāύ্āϤ āϝাāĻŦāϤীāϝ় āϤāĻĨ্āϝ āĻ“ āĻ•āύ্āϟ্āϰোāϞ āĻŽ্āϝাāύেāϜ āĻ•āϰāϤে āϏাāĻšাāϝ্āϝ āĻ•āϰে

💡 āĻ•ীāĻ­াāĻŦে āĻāϟি āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰāĻŦেāύ?
ConnectivityManager āĻ…āĻŦāϜেāĻ•্āϟ āϤৈāϰি āĻ•āϰুāύ
✔ āχāύ্āϟাāϰāύেāϟ āϏংāϝোāĻ— āϚেāĻ• āĻ•āϰুāύ (isInternetAvailable())
✔ āύেāϟāĻ“āϝ়াāϰ্āĻ•েāϰ āϧāϰāύ āϚেāĻ• āĻ•āϰুāύ (getNetworkType())
✔ āύেāϟāĻ“āϝ়াāϰ্āĻ• āĻĒāϰিāĻŦāϰ্āϤāύ āĻšāϞে āϏেāϟি āĻĄিāϟেāĻ•্āϟ āĻ•āϰুāύ (registerNetworkCallback())

āĻāϟি āĻŦ্āϝāĻŦāĻšাāϰ āĻ•āϰে āφāĻĒāύি āϏ্āĻŽাāϰ্āϟ āύেāϟāĻ“āϝ়াāϰ্āĻ•-āĻŦেāϏāĻĄ āĻ…্āϝাāĻĒ āĻĄেāĻ­েāϞāĻĒ āĻ•āϰāϤে āĻĒাāϰāĻŦেāύ! 🚀đŸ”Ĩ

Comments

Popular posts from this blog

AI (Artificial Intelligence) āϏāĻšāϜāĻ­াāĻŦে āĻŦোāĻাāϰ āϜāύ্āϝ āĻāĻ•āĻĻāĻŽ āĻŽāϏ্āϤিāώ্āĻ•-āĻŦাāύ্āϧāĻŦ āĻŦ্āϝাāĻ–্āϝা 🧠🤖

🧠 Regex āĻ•ী?

Kotlin-āĻ āĻ­েāϰিāϝ়েāĻŦāϞ āϘোāώāĻŖা āĻ•āϰাāϰ āĻĻুāχ āωāĻĒাāϝ়