扫码关注,一起学习

android中wifi分为5个等级,对应的图标是0格,1格,2格,3格,4格.

那么对应的信号强度是多少呢?

根据wifimanager中的算法calculateSignalLevel可以算得:

0 rssi<=-100
1 (-100, -88]
2 (-88, -77]
3 (-66, -55]
4 rssi>=-55

下面看谷歌代码实现:
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/AccessPointControllerImpl.java

public int getIcon(AccessPoint ap) {int level = ap.getLevel();return ICONS[level >= 0 ? level : 0];
}

frameworks/base/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java

public int getLevel() {return WifiManager.calculateSignalLevel(mRssi, SIGNAL_LEVELS);}

关键函数:

/frameworks/base/wifi/java/android/net/wifi/WifiManager.java

private static final int MIN_RSSI = -100;private static final int MAX_RSSI = -55;public static final int RSSI_LEVELS = 5;public static int calculateSignalLevel(int rssi, int numLevels) {if (rssi <= MIN_RSSI) {return 0;} else if (rssi >= MAX_RSSI) {return numLevels - 1;} else {float inputRange = (MAX_RSSI - MIN_RSSI);float outputRange = (numLevels - 1);return (int)((float)(rssi - MIN_RSSI) * outputRange / inputRange);}
}

Android wifi信号强度与图标对应关系相关推荐

  1. android wifi 图标,android wifi信号强度与图标对应关系

    android中wifi分为5个等级,对应的图标是0格,1格,2格,3格,4格. 那么对应的信号强度是多少呢? 根据wifimanager中的算法calculateSignalLevel可以算得: 0 ...

  2. android WIFI 信号强度检测

    前几天开会,领导突然说让我们增加个功能,和手机WIFI信号图标一样,会随着信号强度的强弱来改变.(因为我们这里所有状态栏都是隐藏了的,所以这些小东西都得自己写了). 好了,言归正传.我们来说说如何实现 ...

  3. Android wifi 信号强度单位 dbm

    当利用android wifi模块获取wifi信号强度值时我们通常会得到-20~-80之间的值,单位是dBm.如:-67dBm. 那么什么是dBm呢? dBm 是表示功率绝对值大小的值,是以1mW功率 ...

  4. android wifi信号强度命令,Android显示wifi信号强度以及周边信号的代码

    本帖最后由 liyihongcug 于 2015-1-19 11:26 编辑 http://blog.sina.com.cn/s/blog_9277d4a30101swxn.htmlhttp://bo ...

  5. android wifi布局,如何实现Android状态栏的Wi-Fi搜索周边的列表和周围Wi-Fi强度图标切换?...

    我想要实现例如Android状态栏以及筛选列表一样:链接之后就显示当前Wi-Fi信号状态图标,扫描之后进行周围链接的信号强度的显示. 第一个问题 实现的结果是都在一行. 在hashmap遍历中,我尝试 ...

  6. 自动刷新获取wifi信号强度,android

    我还是挺有必要把这次解决bug的过程记录下来的.转自http://fecbob.pixnet.net/blog/post/39322597-android-%3E-wifi-%3E-%E6%8E%83 ...

  7. android 获取wifi信号强度,获取wifi当前手机连接的wifi信息以及信号强度

    1.获得WifiManager对象WifiManager wm = (WifiManager) getApplicationContext().getSystemService(Context.WIF ...

  8. Android 获取wifi信号强度

    先来了解下Android如何获取wifi的信息: WifiManager wifi_service = (WifiManager)getSystemService(WIFI_SERVICE); Wif ...

  9. android获取wifi信号强度,Native.js 获取当前wifi信号强度

    使用Native.js获取当前WiFi的信号强度: //获取当前WiFi信号强度 function checkWifiSignal() { var Signal = null; var Context ...

最新文章

  1. 【网络流24题】飞行员配对方案问题
  2. 使用深度学习检测DGA(域名生成算法)——LSTM的输入数据本质上还是词袋模型...
  3. 使用JavaScript动态添加复选框Checkbox
  4. 3.7 注意力模型直观理解-深度学习第五课《序列模型》-Stanford吴恩达教授
  5. There is no Action mapped for namespace [/]
  6. python random模块的使用
  7. mf253s移动版变全网通_中国电信发布5G全网通终端需求白皮书v2.0
  8. ZZULIOJ 1098: 复合函数求值(函数专题)
  9. python+Django学习资源汇总-更新中
  10. arch linux arm下载_linux系统下编译给android JNI调用的Gmssl库
  11. 常见面试算法:回归、岭回归、局部加权回归
  12. leetcode 93.复原IP地址 dfs解法
  13. Select2 鼠标点击空白处不消失简单测试和解决方法
  14. MySQL InnoDB中的锁-间隙锁(Gap Lock)
  15. 使用html仿支付宝首页,仿支付宝首页头部伸缩效果
  16. MFC 为对话框窗口自定义基类
  17. 使用python实现win10系统和arduino usb串口通信
  18. PHP实现的7组经纬度与距离的计算函数
  19. matlab中应用surf函数画球形物体的三维坐标变换,从球坐标系转换到笛卡尔坐标系
  20. altium designer 10 的AD10Crakc.zip解压后没有patch.exe

热门文章

  1. 侍魂qq最新服务器,qq区怎么进不去了,说服务器未开启
  2. 贝塞尔波纹+蒙版和螺旋线进度条控件
  3. spark driver HA
  4. 【Rochester】MongoDB的基本语法和使用
  5. 如何查看 lib 文件
  6. 虚幻4基础操作 - 初中生学UE4第一季-丁树凯-专题视频课程
  7. 汽车价格离群值检测案例
  8. Auto MDI/MDI-X 简要说明及网线头线序
  9. 安卓学习笔记—渐变色背景
  10. Faster-RCN训练和入门使用--Pytorch版本