package com.xjf.repository.utils; import android.content.Context; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.os.Build; import java.io.IOException; import java.io.InputStreamReader; import java.io.LineNumberReader; /** * <pre> * author: Blankj * blog : http://blankj.com * time : 2016/8/1 * desc : 设备相关工具类 * </pre> */ public class DeviceUtils { private DeviceUtils() { throw new UnsupportedOperationException("u can't fuck me..."); } /** * 获取设备MAC地址 * <p>需添加权限 {@code <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>}</p> * * @param context 上下文 * @return MAC地址 */ public static String getMacAddress(Context context) { WifiManager wifi = (WifiManager) context .getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnectionInfo(); String macAddress = info.getMacAddress().replace(":", ""); return macAddress == null ? "" : macAddress; } /** * 获取设备MAC地址 * * <p>需添加权限 {@code <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>}</p> * * @return MAC地址 */ public static String getMacAddress() { String macAddress = null; LineNumberReader reader = null; try { Process pp = Runtime.getRuntime().exec("cat /sys/class/net/wlan0/address"); InputStreamReader ir = new InputStreamReader(pp.getInputStream()); reader = new LineNumberReader(ir); macAddress = reader.readLine().replace(":", ""); } catch (IOException ex) { ex.printStackTrace(); } finally { try { if (reader != null) reader.close(); } catch (IOException e) { e.printStackTrace(); } } return macAddress == null ? "" : macAddress; } /** * 获取设备厂商,如Xiaomi * * @return 设备厂商 */ public static String getManufacturer() { return Build.MANUFACTURER; } /** * 获取设备型号,如MI2SC * * @return 设备型号 */ public static String getModel() { String model = Build.MODEL; if (model != null) { model = model.trim().replaceAll("\\s*", ""); } else { model = ""; } return model; } }