如何实时实现三个WiFi接入点的信号强度?

时间:2011-03-19 04:31:59

标签: android wifi

我在没有连接到特定网络的情况下实时获取RSSI测量值有些麻烦,即我正在使用wifiManager.getScanResults();查看每个可达AP的RSSI值,但我不知道如何使用ScanResults来做到这一点!有没有其他方法可以执行RSSI测量并更新他?我无法在广播接收器中使用WifiManager.RSSI_CHANGED_ACTION看到如何做到这一点,因为如果我连接到特定网络,这种方法只会给我RSSI的更新,不是吗?

基本上,我想同时更新3个AP的RSSI,如下所示:

UPDATE_RSSI< - AP1
UPDATE_RSSI< - AP2
UPDATE_RSSI< - AP3

1 个答案:

答案 0 :(得分:0)

过去我尝试过使用Wifi做一点,但我不确定这些信息是否对您的确切需求有所帮助。

这一点是注册接收器,你可以说wifiManager.startScan()来启动扫描:

IntentFilter filter = new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
registerReceiver(wifiReceiver, filter);
wifiManager.startScan();

然后,在您的活动的全局范围内,您需要声明接收器wifiReceiver

private final BroadcastReceiver wifiReceiver = new BroadcastReceiver()
{
  @Override
  public void onReceive(Context ctx, Intent intent)
  {
      List<ScanResult> results = wifi.getScanResults();
          ....
   }
}

ScanResult包含一些信息,例如level,我认为您正在尝试衡量这些信息。

此信息有帮助吗?