如何更改Android Studio中我depreated代码

问题描述 投票:1回答:1

我有一个代码来检查用户是否被编码

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中,你也可以分享感谢。

java android android-studio kotlin android-networking
1个回答
0
投票

从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();
© www.soinside.com 2019 - 2024. All rights reserved.