文章

Android10及更高版本网络连接判断

Android10及更高版本网络连接判断

Android10开始NetworkInfo被标记为Deprecated废弃状态,替代方案是NetworkCapabilities:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
fun isWifiConnection(context: Context): Boolean {
    val manager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
    return manager.activeNetwork?.let {
        val capabilities = manager.getNetworkCapabilities(it)
        capabilities != null && capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)
    } ?: false
}

fun isMobileConnection(context: Context): Boolean {
    val manager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
    return manager.activeNetwork?.let {
        val capabilities = manager.getNetworkCapabilities(it)
        capabilities != null && capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)
    } ?: false
}
本文由作者按照 CC BY 4.0 进行授权

相关文章