获取WiFi的名字以及权限设置
1、先配置Androidmanifest.xml中的权限
<!--使用网络--> <uses-permission android:name="android.permission.INTERNET" /> <!--网络状态--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--wifi状态权限--> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!--位置信息--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!--如果是安卓10.0,需要后台获取连接的wifi名称则添加进程获取位置信息权限 --> <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <!--android 10.0使用wifi api新添加的权限--> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
2、封装类
引用: WifiUtil.getWifiName(this).replace("\"", "");
public class WifiUtil { /** * 得到当前网络连接的wifi名称 * * @return 当前网络连接的wifi名称 */ public static String getWifiName(Context context) {// WifiManager wifiMgr = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);// WifiInfo info = wifiMgr.getConnectionInfo();// return info != null ? info.getSSID() : null; String ssid = ""; if (!isWifiEnabled(context)) { return ssid; } WifiManager mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); if (null != mWifiManager) { WifiInfo info = mWifiManager.getConnectionInfo(); int networkId = info.getNetworkId(); List<WifiConfiguration> netConfList = mWifiManager.getConfiguredNetworks(); for (WifiConfiguration wificonf : netConfList) { if (wificonf.networkId == networkId) { ssid = wificonf.SSID; break; } } } if (ssid.contains("\"")) { ssid = ssid.replace("\"", ""); } return ssid; } /** * 打开wifi设置 */ public static void openWifiSetting(Context context) { Intent intent = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS); context.startActivity(intent); } /** * wifi 是否打开 * * @param context 上下文 * @return */ public static boolean isWifiEnabled(Context context) { WifiManager wifiMgr = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); if (wifiMgr.getWifiState() == WifiManager.WIFI_STATE_ENABLED) { ConnectivityManager connManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo wifiInfo = connManager .getNetworkInfo(ConnectivityManager.TYPE_WIFI); return wifiInfo.isConnected(); } else { return false; } }}