【问题标题】:'getter for connectionInfo: WifiInfo!' is deprecated. Deprecated in Java (Api 31)“连接信息的吸气剂:WifiInfo!”已弃用。在 Java (Api 31) 中已弃用
【发布时间】:2021-10-01 08:11:39
【问题描述】:

当我想通过 WifiManager.connectionInfo 获取有关当前 wifi 连接的信息时,我得到 这个:

'connectionInfo 的获取器:WifiInfo!'已弃用。在 Java 中已弃用

如何在 Android 12 中做到这一点? (只想获取rssi)

【问题讨论】:

    标签: android wifimanager android-12 android-api-31


    【解决方案1】:

    从 Build.VERSION_CODES#S 开始,WifiInfo 检索移至 ConnectivityManager API 表面。 WifiInfo 附加在 NetworkCapabilities#getTransportInfo() 中,可通过 NetworkCallback#onCapabilitiesChanged(Network, NetworkCapabilities) 中的回调或 ConnectivityManager#getNetworkCapabilities(Network) 按需提供。

    final NetworkRequest request =
           new NetworkRequest.Builder()
           .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
           .build();
      final ConnectivityManager connectivityManager =
           context.getSystemService(ConnectivityManager.class);
      final NetworkCallback networkCallback = new NetworkCallback() {
           ...
           @Override
           void onAvailable(Network network) {}
     
           @Override
           void onCapabilitiesChanged(Network network, NetworkCapabilities networkCapabilities) {
               WifiInfo wifiInfo = (WifiInfo) networkCapabilities.getTransportInfo();
           }
           // etc.
      };
      connectivityManager.requestNetwork(request, networkCallback); // For request
      connectivityManager.registerNetworkCallback(request, networkCallback); // For listen
    

    https://developer.android.com/reference/kotlin/android/net/wifi/WifiManager#getConnectionInfo()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-12
      • 2022-07-10
      • 1970-01-01
      • 1970-01-01
      • 2021-02-21
      • 1970-01-01
      • 2022-11-12
      • 2014-02-12
      相关资源
      最近更新 更多