web-dev-qa-db-ja.com

WIFIとモバイルデータの信号強度を取得する

私のアプリでは、WiFiとモバイルデータの両方の接続速度を確認し、それを比較して、ネットワークの速度が最も速いネットワークに切り替える必要があります。

  • では、Wi-Fiとモバイルデータの速度または最高の信号強度を取得するにはどうすればよいですか?
  • プログラムで1つをオフに、もう1つをオンにするにはどうすればよいですか。

私を助けてください。サンプルが参考になります。

14
WISHY

Wi-Fi:

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信号の方が良い場合はオンのままにしてください。

32
pepe-pa