54

次のコードを使用して、WiFi 信号レベルを dBm で取得できます。

for (ScanResult result : wifiScanResultList) {
    int signalLevel = result.level;
}

負の値を与えます。デフォルトのシステム WiFi 設定が表示され、接続されている WiFi ネットワークをクリックすると、信号強度として「良好」または「不良」が表示されます。これらの負の値を「良い」信号強度または「悪い」信号強度としてフィルタリングできる範囲はどれくらいですか?

4

7 に答える 7

69

その古い投稿ですが、これは誰かを助けるかもしれません...

WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
int numberOfLevels = 5;
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
int level = WifiManager.calculateSignalLevel(wifiInfo.getRssi(), numberOfLevels);

ドキュメント: public static int calculateSignalLevel (int rssi, int numLevels)

于 2013-08-30T16:58:04.867 に答える
35

受信した無線信号電力の dBm 値がどのように表されているかを確認してください。

優れた >-50 dBm

良好 -50 ~ -60 dBm

普通 -60 ~ -70 dBm

弱い < -70 dBm

于 2015-11-13T09:28:21.163 に答える
8

はい、正確に。これは、受信信号電力の dBm 値がどのように表されるかです。ウィキペディアにいくつかの詳細があります。

-100 は最低値 (信号なし) を意味し、0 は非常に良い信号 (100%) を意味します。

于 2012-12-18T12:59:49.987 に答える