首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ConnectivityManager getNetworkInfo(int)已弃用

ConnectivityManager getNetworkInfo(int)已弃用
EN

Stack Overflow用户
提问于 2015-09-13 14:37:58
回答 12查看 122.4K关注 0票数 166

使用compileSdkVersion 23,但是试图支持早在9。

getNetworkInfo(int)在23中被弃用。建议改用getAllNetworks()getNetworkInfo(Network)。但是,这两种方法都需要最低版本的API 21。

有没有我们可以在支持包中使用的类来帮助我们做到这一点?

我知道有人提出了一个解决方案,但是我的最低before要求是9,这带来了一个问题。

EN

回答 12

Stack Overflow用户

发布于 2019-04-15 03:06:51

最好检查一下您的网络是否已连接到Internet:

代码语言:javascript
复制
@Suppress("DEPRECATION")
fun isNetworkAvailable(context: Context): Boolean {
    try {
        val cm = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
        return if (Build.VERSION.SDK_INT > 22) {
            val an = cm.activeNetwork ?: return false
            val capabilities = cm.getNetworkCapabilities(an) ?: return false
            capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
        } else {
            val a = cm.activeNetworkInfo ?: return false
            a.isConnected && (a.type == ConnectivityManager.TYPE_WIFI || a.type == ConnectivityManager.TYPE_MOBILE)
        }
    } catch (e: Exception) {
        e.printStackTrace()
    }
    return false
}
票数 5
EN

Stack Overflow用户

发布于 2018-08-30 18:12:48

Kotlin版本:

代码语言:javascript
复制
fun isInternetOn(context: Context): Boolean {
   val cm = context.getSystemService(Context.CONNECTIVITY_SERVICE) as? ConnectivityManager
   val activeNetwork = cm?.activeNetworkInfo
   return activeNetwork != null && activeNetwork.isConnected
}
票数 3
EN

Stack Overflow用户

发布于 2019-07-01 01:36:25

检查互联网是否可用:

代码语言:javascript
复制
@RequiresPermission(allOf = [
    Manifest.permission.ACCESS_NETWORK_STATE, 
    Manifest.permission.INTERNET
])
fun isInternetAvailable(context: Context): Boolean {
    val connectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager?
    val activeNetworkInfo = connectivityManager!!.activeNetworkInfo
    return activeNetworkInfo != null && activeNetworkInfo.isConnected
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32547006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档