2

我正在尝试扫描几个无线信号的强度。为此,我使用 WifiManager,在循环中调用 startScan(),并且我有一个广播接收器来获取结果。

我的问题是:

如何仅对某些网络进行扫描?在结果中,我得到了所有可用的网络。我可以过滤扫描以仅搜索某些 bssid 吗?还是ssid?除了我的 AP 之外,我不关心其他价值观。我需要以尽可能高的频率进行扫描。

另一件事是:当我再次调用 startScan(上一次调用后 500 毫秒)时,它会停止扫描吗?因为我想最大程度地降低获得信号强度的频率,而且结果有时似乎不完整?

是否可以修改 WifiManager 类的源代码以将扫描过滤到某些 id?

非常感谢!

4

1 回答 1

1

不,您不能设置过滤器,但您可以稍后自己过滤结果,这应该不会对性能造成很大影响(过滤少于 100 个条目的列表)。此外,根据我的经验,如果您在扫描已经运行时请求扫描,则不会启动新的扫描。因此,在最后一次扫描返回结果之前开始新的扫描是没有意义的。您也不能修改 WifiManager,因为它是 android 平台的一部分。

于 2011-05-02T14:45:14.883 回答