Подтвердить что ты не робот

Получить уровень сигнала WIFI и мобильных данных

В моем приложении мне нужно проверить скорость соединения как Wi-Fi, так и Mobile Data, а затем сравнить его, а затем переключиться на то, что когда-либо имеет самую высокую скорость.

  • Итак, как я могу получить скорость или лучший уровень сигнала wifi и mobile данные?
  • как я могу переключаться один и другое программно.

Пожалуйста, помогите мне. Образец будет полезен.

4b9b3361

Ответ 1

Wifi:

WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
int linkSpeed = wifiManager.getConnectionInfo().getRssi();

В случае мобильной связи он должен работать:

TelephonyManager telephonyManager =        (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
CellInfoGsm cellinfogsm = (CellInfoGsm)telephonyManager.getAllCellInfo().get(0);
CellSignalStrengthGsm cellSignalStrengthGsm = cellinfogsm.getCellSignalStrength();
cellSignalStrengthGsm.getDbm();

Затем вам следует сравнить эти уровни сигнала, и если сигнал WIFI лучше будет поддерживать его, но если мобильный лучше отключить wifi