When I want to get info about current wifi connection via WifiManager.connectionInfo I get this:
'getter for connectionInfo: WifiInfo!' is deprecated. Deprecated in Java
How can I do it in Android 12? (only want to get rssi)
When I want to get info about current wifi connection via WifiManager.connectionInfo I get this:
'getter for connectionInfo: WifiInfo!' is deprecated. Deprecated in Java
How can I do it in Android 12? (only want to get rssi)
Starting with Build.VERSION_CODES#S, WifiInfo retrieval is moved to ConnectivityManager API surface. WifiInfo is attached in NetworkCapabilities#getTransportInfo() which is available via callback in NetworkCallback#onCapabilitiesChanged(Network, NetworkCapabilities) or on-demand from 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()