我有一个代码来检查用户是否被编码
val connected:Boolean
val connectivityManager = getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
connected = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_VPN).state == NetworkInfo.State.CONNECTED
if(connected){
}else{
}
但每次我建造它的时候告诉我,它的贬值。
如果有另一种方式来检查用户的连接变更,请分享
PS:如果你知道但其在Java中,你也可以分享感谢。
从Android文档:
此方法在API级别23.此方法不支持同一类型的多个连接的网络被弃用。使用
getAllNetworks()
和getNetworkInfo(android.net.Network)
代替。
在你的情况,你可能真的想:
Network network = connectivityManager.getActiveNetwork();
NetworkCapabilities caps = connectivityManager.getNetworkCapabilities(
connectivityManager.getActiveNetwork());
connected = caps.hasCapability(TRANSPORT_VPN) && network.isConnected();