我可以使用以下命令获取当前wifi网络的RSSI,但我需要一个响应更快的命令,这个命令太慢了:
dumpsys wifi | grep ", RSSI"
有没有更好的方法从android linux终端获得信号强度?
我也在java中尝试过WifiInfo.getRssi(),它在样本之间有大约2秒的延迟。我需要大约200ms。
答案 0 :(得分:0)
使用以下命令将rssi更新间隔更改为200 ms。您可能需要root特权。
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
类)。