Android获取Wifi信号强度方法总结 您所在的位置:网站首页 wifi信号实时监测 Android获取Wifi信号强度方法总结

Android获取Wifi信号强度方法总结

2023-10-10 21:49| 来源: 网络整理| 查看: 265

直接封装了一个工具类,获取WIFI信号强度直接调用该工具类的getCurrentNetworkRssi方法即可。

public class WifiUtils { // 获取当前热点最新的信号强度 public static String getCurrentNetworkRssi(Context mContext) { WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); return isWifiConnected(mContext) ? String.valueOf(wifiInfo.getRssi()) : "disconnect or not enable"; } /** * wifi是否连接 * * @param context * @return */ public static boolean isWifiConnected(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (null != networkInfo && networkInfo.isConnected()) { return true; } return false; } }

注:需要导包和添加permission,都通过快捷键即可。

需求变更: 信号强度这个要用0-5那个信号值 信号/netDbm“信号获取不到就传0”【车机传12345】【手机端全部传0】

问题:那1 2 3 4 5 这种,计算方式的临界值是多少呢? 答:直接有个转化方法,netDbm = WifiManager.calculateSignalLevel(info.getRssi(), 5);

所以根据上面的需求变更,将getCurrentNetworkRssi方法中的:

return isWifiConnected(mContext) ? String.valueOf(wifiInfo.getRssi()) : "disconnect or not enable";

更改为:

return isWifiConnected(mContext) ? String.valueOf(WifiManager.calculateSignalLevel(wifiInfo.getRssi(), 5)) : "0";


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有