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

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

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
}
文章作者: AkkunYo
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AkkunYoの博客
Android Android
喜欢就支持一下吧