原文地址:http://blog.csdn.net/a578855381/article/details/51579960
http://blog.sina.com.cn/s/blog_62f987620102uz6n.html
http://blog.csdn.net/bulreed/article/details/40562861
本人就获取wifi相关信息的问题上走了不上弯路,希望通过此文帮助更多新手。
在此问题上,主要有两个问题
一:获取wifi ssid值系统自己加了双引号。
WifiInfo wifiInfo = mWifi.getConnectionInfo();
if ((connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED)
&& wifiInfo .getSSID() != null
+ "\"") || wifiInfo
.getSSID()
.equalsIgnoreCase(
SystemConfigConstants.CONFIG_MODULDE_NAME)))
二:有些手机获取不到wifi ssid值。有些手机厂商真的是乱搞,虽然我不知道他什么要做自己的套路,但是你做的与别人不一样的时候能不能说明一下。
有些手机获取不到ssid值,看看自己的权限有没有加<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>。
目前发现魅蓝不加这个权限获取不到ssid,去魅族官网游荡了几天硬是没找到解决办法。不知道是我游荡不够久,还是其他原因。
Android 下一个小应用,其中需要读取某个Wi-Fi的SSID,挺简单的调用,发现读取的数据和我指定的SSID不同,关键是,在有些机器上读取到SSID和我指定的是相同,在我的手机上读取到的就不同,很不解。于是就打印两台设备上读取到得信息。发现低版本上读取的信息是没有引号的,高版本上读取到SSID是包含有引号的,如某个SSID为wifiabc,高版本上读取的信息就是"wifiabc"(多了引号包裹),我在Android 4.0.3上读取的是没有引号的SSID,在Android 4.4版本上读取的就是有引号的。
具体读取某个联网的SSID代码如下: