Я хочу определить, есть ли у телефона медленное интернет-соединение или высокоскоростной интернет.
Теперь они устарели NetworkInfo
и предлагают использовать ConnectivityManager#getNetworkCapabilities
, используя это. Я могу получить мощность сигнала, но не могу понять, как использовать целочисленное значение, возвращаемое networkCapabilities.getSignalStrength()
Он возвращает целочисленное значение. Я получаю эти значения (-39, -71, -31). Мой вопрос в том, как мы должны определить, что уровень сигнала хороший/плохой.
Вот мой код для получения уровня сигнала:
ConnectivityManager cm = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
Network activeNetwork = cm.getActiveNetwork();
NetworkCapabilities networkCapabilities = cm.getNetworkCapabilities(activeNetwork);
int signalStrength = networkCapabilities.getSignalStrength();