我在没有连接到特定网络的情况下实时获取RSSI测量值有些麻烦,即我正在使用wifiManager.getScanResults();查看每个可达AP的RSSI值,但我不知道如何使用ScanResults来做到这一点!有没有其他方法可以执行RSSI测量并更新他?我无法在广播接收器中使用WifiManager.RSSI_CHANGED_ACTION
看到如何做到这一点,因为如果我连接到特定网络,这种方法只会给我RSSI的更新,不是吗?
基本上,我想同时更新3个AP的RSSI,如下所示:
UPDATE_RSSI< - AP1
UPDATE_RSSI< - AP2
UPDATE_RSSI< - AP3
答案 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,我认为您正在尝试衡量这些信息。
此信息有帮助吗?