首页 > 解决方案 > ConnectivityManager.getActiveNetworkInfo() / NetworkInfo 在 API 29 中已弃用。有什么替代方案?

问题描述

似乎整个 NetworkInfo在 API 29 上已被弃用。

所以我正在寻找一种替代方法来检查网络是否已连接。例如替代

connectivityManager.activeNetworkInfo?.isConnected == true

旁注:我知道现在有一个回调,但我想同步获取此信息。此外,我当然知道它可能不是一个精确的信息,尽管我想拥有它。

标签: androidandroid-connectivitymanager

解决方案


解决方案是这样的:

val capability = connectivityManager.getNetworkCapabilities(connectivityManager.activeNetwork)
return capability?.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) ?: false

推荐阅读