を使用して現在のwifi接続の信号強度を取得しようとしていますgetRssi()
private void checkWifi(){
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo Info = cm.getActiveNetworkInfo();
if (Info == null || !Info.isConnectedOrConnecting()) {
Log.i("WIFI CONNECTION", "No connection");
} else {
int netType = Info.getType();
int netSubtype = Info.getSubtype();
if (netType == ConnectivityManager.TYPE_WIFI) {
wifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE);
int linkSpeed = wifiManager.getConnectionInfo().getLinkSpeed();
int rssi = wifiManager.getConnectionInfo().getRssi();
Log.i("WIFI CONNECTION", "Wifi connection speed: "+linkSpeed + " rssi: "+rssi);
//Need to get wifi strength
}
}
}
事は私が-35または-47などのような数字を取得することです..そして私はそれらの値を理解していません..私はアンドロイドのドキュメントとそれが述べているすべてを見てきました:
public int getRssi()
以来:APIレベル1現在の802.11ネットワークの受信信号強度インジケータを返します。
これは正規化されていませんが、正規化する必要があります。
範囲内のRSSIを返します??? に ???
誰かがこれらの結果を「正規化」または理解する方法を説明できますか?