在wifimanger中使用BroadcastReceiver(),我能够每4-5秒获得一次RSSI强度。 但我需要它实时。 我可以实时获得力量吗?
答案 0 :(得分:0)
您最好的选择是使用WifiManager getScanResults开始扫描:
final WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
List<ScanResult> results = wifi.getScanResults();
但请注意,它会返回最新结果,该结果可能会在4-5秒之前提早或。但至少你获得了最新的结果。
修改强>
由于没有连续扫描,您无法实时获得信号强度结果。
如果必须,您可以使用startScan启动扫描,但是您必须等待扫描完成后发送的异步事件。
答案 1 :(得分:0)
我试图做同样的事情,我找到了一个不错的解决方案。
如果您使用异步任务并运行在每次迭代时获得更新RSSI的循环,则可以使用onProgressUpdate()
更新UI。
我在循环中添加了Thread.sleep(500)
,因此每半秒更新一次。
如果您有更多问题,我很乐意提供帮助。