code
package com.idogfooding.lawsonsot.common; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import com.idogfooding.lawsonsot.model.WifiResultInfo; /** * * */ public class WiFiUtil { /** * 判断是否联网 */ public static boolean checkConnectNetwork(Context context) { ConnectivityManager conn = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo net = conn.getActiveNetworkInfo(); if (net != null && net.isConnected()) { return true; } return false; } /** * 获取已连接的wifi */ public static WifiResultInfo getConnectedWifi(Context context) { // Context context = SysApplication.getContext(); WifiResultInfo wifiResultInfo = null; WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); if (wifiInfo != null) { wifiResultInfo = new WifiResultInfo(); //名称 String ssid = wifiInfo.getSSID(); //信号强度,得到的值是一个0到-100的区间值,是一个int型数据 int rssi = wifiInfo.getRssi(); if(ssid.startsWith("\"") && ssid.endsWith("\"")) { ssid = ssid.substring(1, ssid.length() - 1); } //信号强度等级,根据强度值,分为6个等级,5最大,表示强度最高,0表示没连Wifi。 int level = WifiManager.calculateSignalLevel(rssi, 6); String supplicantState = wifiInfo.getSupplicantState().toString(); wifiResultInfo.setWifiLevel(level); wifiResultInfo.setRssi(rssi); wifiResultInfo.setSsid(ssid); wifiResultInfo.setSupplicantState(supplicantState); } return wifiResultInfo; } }
AndroidManifest.xml
<!-- 联网,网络状态 --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- WIFI改变,WIFI状态 --> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 申请定位权限 否则的话,wifiManager.getScanResults()获取不到任何的数据 --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
标签:context,ssid,Wifi,信号强度,Context,import,Android,net,wifiResultInfo From: https://www.cnblogs.com/xsj1989/p/17190723.html