在我的 Droid 2 上,wifi.getScanResults() 似乎会在短时间内返回旧值。
这意味着当我在家时,wifi.getScanResults() 将显示我的家庭网络。如果我在几英里外的街道上行驶,wifi.getScanResults() 仍然会在前 1 或 2 次尝试中显示我的家庭网络。在第三次尝试时,我的家庭网络消失了。
问题:有没有办法只获取最新的 wifi.getScanResults()?
可能的选项:
- 如果 ScanResult 的 .level 最小,则假定它超出范围。
使用未记录的 API 以某种方式清除 ScanResults 。
我有一些这样的代码:
context.registerReceiver(this, new IntentFilter(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
wifi.startScan();
...
if (intent.getAction().equalsIgnoreCase(
WifiManager.SCAN_RESULTS_AVAILABLE_ACTION))
{
List<ScanResult> results = wifi.getScanResults();
}