从终端中的Android驱动程序获取wifi连接的信号强度



我可以使用以下命令获取当前wifi网络的RSSI,但是我需要一个响应更快的命令,这个命令太慢了:

dumpsys wifi | grep ", RSSI"

有没有更好的方法可以从安卓Linux终端获取信号强度?

我也在java中尝试过WifiInfo.getRssi(),它在样本之间有大约2秒的延迟。 我需要大约 200 毫秒。

使用以下命令将 rssi 更新间隔更改为 200 毫秒。您可能需要根权限。

adb shell cmd wifi set-poll-rssi-interval-msecs 200

我也在java中尝试过WifiInfo.getRssi(),它在样本之间有大约2秒的延迟。

是的,默认更新间隔为 3000 毫秒。

<小时 />

您可以在 frameworks/opt/net/wifi/service/java/com/android/server/wifi/ClientModeImpl.java 中找到实现。简而言之,它通过wificond进程更新wifi状态,该进程通过标准nl80211命令与Wi-Fi驱动程序通信。更新时间间隔为私有字段mPollRssiIntervalMsecs。该类通过cmd命令公开此字段(请参阅 WifiShellCommand 类)。

最新更新