android6.0及以上获取wifi mac地址的方法(亲测可行)
2017-10-12 22:46
525 查看
由于android6.0对wifi mac地址获取进行了限制,用原来的方法获取会获取到02:00:00:00:00:00这个固定地址。
但是可以通过读取节点进行获取"/sys/class/net/wlan0/address"
在6.0以前的获取WiFi的Mac地址
Android6.0及其以上使用一下代码
下面的代码可以获取当当前设备连接到的网络的wifi信息
WifiManager mWifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if (mWifi.isWifiEnabled()) {
WifiInfo wifiInfo = mWifi.getConnectionInfo();
String netName = wifiInfo.getSSID(); //获取被连接网络的名称
String netMac = wifiInfo.getBSSID(); //获取被连接网络的mac地址
String localMac = wifiInfo.getMacAddress();// 获得本机的MAC地址
}
在连接上WiFi情况下,亲测通过,如下图所示:
源码下载地址:点击打开链接
但是可以通过读取节点进行获取"/sys/class/net/wlan0/address"
在6.0以前的获取WiFi的Mac地址
// Android 6.0之前的版本可以用的方法(模拟器可以使用) public String getLocalMacAddress() { WifiManager wifi = (WifiManager)getApplicationContext().getSystemService(WIFI_SERVICE); // WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnectionInfo(); return info.getMacAddress(); }
Android6.0及其以上使用一下代码
// Android 6.0以上获取WiFi的Mac地址 //由于android6.0对wifi mac地址获取进行了限制,用原来的方法获取会获取到02:00:00:00:00:00这个固定地址。 //但是可以通过读取节点进行获取"/sys/class/net/wlan0/address" public static String getMacAddr() { try { return loadFileAsString("/sys/class/net/wlan0/address") .toUpperCase().substring(0, 17); } catch (IOException e) { e.printStackTrace(); return ""; } } private static String loadFileAsString(String filePath) throws java.io.IOException { StringBuffer fileData = new StringBuffer(1000); BufferedReader reader = new BufferedReader(new FileReader(filePath)); char[] buf = new char[1024]; int numRead = 0; while ((numRead = reader.read(buf)) != -1) { String readData = String.valueOf(buf, 0, numRead); fileData.append(readData); } reader.close(); return fileData.toString(); }
下面的代码可以获取当当前设备连接到的网络的wifi信息
WifiManager mWifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if (mWifi.isWifiEnabled()) {
WifiInfo wifiInfo = mWifi.getConnectionInfo();
String netName = wifiInfo.getSSID(); //获取被连接网络的名称
String netMac = wifiInfo.getBSSID(); //获取被连接网络的mac地址
String localMac = wifiInfo.getMacAddress();// 获得本机的MAC地址
}
在连接上WiFi情况下,亲测通过,如下图所示:
源码下载地址:点击打开链接
相关文章推荐
- Android6.0以上系统获取WiFi Mac地址(适用于4.x及5.x)
- android6.0获取wifi mac地址的一种方法
- Android6.0以上系统权限提示获取方法
- XAMARIN Android获取WIFIMAC地址的方法
- 【Anroid】 获取WIFI MAC地址的方法
- android6.0获取蓝牙mac地址 但获取到02:00:00:00:00:00 解决方法
- Android 获取WIFI MAC地址的方法
- Android6.0及以上版本Wifi开发,扫描Wifi信息,获取Wifi列表为空
- Android6.0以上系统获取内置SD和外置SD卡路径的方法
- Android获取mac地址方法,6.0以上也可用
- Android6.0以上获取前台进程的方法
- Android 6.0获取wifi Mac地址为02:00:00:00:00:00的解决方法
- Android 6.0获取wifi Mac地址为02:00:00:00:00:00的解决方法
- Android获取数据库sqlite文件方法的命令(亲测无root手机上可行)
- Android 获取WIFI MAC地址的方法
- Android6.0系统获取不到蓝牙和wifi的真实MAC地址
- Android6.0(棉花糖)以上动态获取权限方法
- Android6.0以上权限获取权限的问题
- Android6.0权限获取方法封装
- 获取客户端ip和mac地址的方法总结