Android之获取wifi信号强度
16lz
2021-01-23
1.Android获取wifi信号质量:
int strength = WifiManager.calculateSignalLevel(info.getRssi(), 5);即信号强度。
获取方法:
private String obtainWifiInfo() { // Wifi的连接速度及信号强度: WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); // WifiInfo wifiInfo = wifiManager.getConnectionInfo(); WifiInfo info = wifiManager.getConnectionInfo(); if (info.getBSSID() != null) { // 链接信号强度 int strength = WifiManager.calculateSignalLevel(info.getRssi(), 5); // 链接速度 int speed = info.getLinkSpeed(); // 链接速度单位 String units = WifiInfo.LINK_SPEED_UNITS; // Wifi源名称 String ssid = info.getSSID(); } return info.toString(); }
2.注册 receiver监听wifi 信号变化:
public BroadcastReceiver rssiReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { } }; @Override public void onResume() { super.onResume(); registerReceiver(rssiReceiver, new IntentFilter(WifiManager.RSSI_CHANGED_ACTION)); Log.d("way", "Registered"); } @Override public void onPause() { super.onPause(); unregisterReceiver(rssiReceiver); Log.d("way", "Unregistered"); }
更多相关文章
- Json解析速度比较-Android API、Gson、Fastjson
- LibGDX输入模块之加速度计
- Android的WebView控件载入网页显示速度慢的究极解决方案
- Android 下陀螺仪、加速度和磁场传感器数据定义
- 加快Android构建速度
- android中引入信号与槽的机制