獲取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; } }}