1.获取SerialNumber

private static String getSerialNumber() {String serial = null;try {Class<?> c = Class.forName("android.os.SystemProperties");Method get = c.getMethod("get", String.class);serial = (String) get.invoke(c, "ro.serialnocustom");} catch (Exception e) {e.printStackTrace();}return serial;}

2.获取mac

private static final String marshmallowMacAddress = "02:00:00:00:00:00";
private static final String fileAddressMac = "/sys/class/net/wlan0/address";

public static String getAdresseMAC(Context context) {WifiManager wifiMan = (WifiManager)context.getSystemService(Context.WIFI_SERVICE) ;
    WifiInfo wifiInf = wifiMan.getConnectionInfo();
    if(wifiInf !=null && marshmallowMacAddress.equals(wifiInf.getMacAddress())){String result = null;
        try {result= getAdressMacByInterface();
            if (result != null){return result;
            } else {result = getAddressMacByFile(wifiMan);
                return result;
            }} catch (IOException e) {Log.e("MobileAccess", "Erreur lecture propriete Adresse MAC");
        } catch (Exception e) {Log.e("MobileAcces", "Erreur lecture propriete Adresse MAC ");
        }} else{if (wifiInf != null && wifiInf.getMacAddress() != null) {return wifiInf.getMacAddress();
        } else {return "";
        }}return marshmallowMacAddress;
}/**
 * 通过接口获取mac
 * @return
 */
private static String getAdressMacByInterface(){try {List<NetworkInterface> all = Collections.list(NetworkInterface.getNetworkInterfaces());
        for (NetworkInterface nif : all) {if (nif.getName().equalsIgnoreCase("wlan0")) {byte[] macBytes = nif.getHardwareAddress();
                if (macBytes == null) {return "";
                }StringBuilder res1 = new StringBuilder();
                for (byte b : macBytes) {res1.append(String.format("%02X:",b));
                }if (res1.length() > 0) {res1.deleteCharAt(res1.length() - 1);
                }return res1.toString();
            }}} catch (Exception e) {Log.e("MobileAcces", "Erreur lecture propriete Adresse MAC ");
    }return null;
}/**
 * 通过文件获取mac
 * @param wifiMan
 * @return
 * @throws Exception
 */
private static String getAddressMacByFile(WifiManager wifiMan) throws Exception {String ret;
    int wifiState = wifiMan.getWifiState();

    wifiMan.setWifiEnabled(true);
    File fl = new File(fileAddressMac);
    FileInputStream fin = new FileInputStream(fl);
    ret = crunchifyGetStringFromStream(fin);
    fin.close();

    boolean enabled = WifiManager.WIFI_STATE_ENABLED == wifiState;
    wifiMan.setWifiEnabled(enabled);
    return ret;
}private static String crunchifyGetStringFromStream(InputStream crunchifyStream) throws IOException {if (crunchifyStream != null) {Writer crunchifyWriter = new StringWriter();

        char[] crunchifyBuffer = new char[2048];
        try {Reader crunchifyReader = new BufferedReader(new InputStreamReader(crunchifyStream, "UTF-8"));
            int counter;
            while ((counter = crunchifyReader.read(crunchifyBuffer)) != -1) {crunchifyWriter.write(crunchifyBuffer, 0, counter);
            }} finally {crunchifyStream.close();
        }return crunchifyWriter.toString();
    } else {return "No Contents";
    }
}

android 获取设备的serialNumber和Mac地址相关推荐

  1. Android获取设备的SerialNumber(SN)串号以及WIFIMac值

    获取设备SN 版本较高可以参考 private static String getSerialNumber() {String serial = null;try {Class<?> c ...

  2. Android获取手机及路由器的Mac地址和IP地址

    Android获取Mac地址及IP地址需要添加权限, 在AndroidManifest.xml中: <uses-permission android:name="android.per ...

  3. Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)

    Android获取设备各项信息(设备id.ip地址.APP应用名称.设备名称.运行商.品牌.型号.分辨率.处理器.国家码.系统语言.网络类型.oaid.android版本.操作系统版本.mac地址.应 ...

  4. Android获取手机IMEI,IMSI, MAC标识和唯一标识的生成

    急的直接看这个: android 获取设备IMEI与序列号: ​ //IMEI(imei) TelephonyManager tm = (TelephonyManager) ChinaApplicat ...

  5. python获取mac、计算机id_python 获取本机IP、mac地址、计算机名的简单示例

    这篇文章主要为大家详细介绍了python 获取本机IP.mac地址.计算机名的简单示例,具有一定的参考价值,可以用来参考一下. 对python获取本机IP.mac地址.计算机名感兴趣的小伙伴,下面一起 ...

  6. Android获取设备状态栏status bar高度的正确姿势

    Android获取设备状态栏高度的正确姿势 正确代码方式: int height = 0;int resourceId = getApplicationContext().getResources() ...

  7. 【备忘】Android获取正在使用网络的IP4地址

    [备忘]Android获取正在使用网络的IP4地址 public String getLocalIpAddress() { String ipaddress="";try { fo ...

  8. Android获取设备ID号

    Android获取设备ID号 Android有多种方式可以获取设备ID,但是每一种总会有一点限制,为此,整合几种方式在一起,这样就万无一失了 public class DeviceIdFactory ...

  9. Android 获取设备号

    前言 最近在对接口的时候 根据后台要求生成设备唯一id 作为key android 获取设备号比较简单 这里记录一下 实现 /*** 获取设备号* @param context* @return*/p ...

  10. Android -- 获取设备硬件信息

    Android – 获取设备硬件信息 通过 Build 获取指定字段信息: 信息 方法 例子 主板 Build.BOARD PAR 系统定制商 Build.BRAND HUAWEI 硬件名称 Buil ...

最新文章

  1. 牛客多校第六场 E Androgynos 自补图
  2. 电脑亮度多少对眼睛好_鲁大师性能测试多少分算好电脑?
  3. C语言 | 结构体数组
  4. java thrift连接池_由浅入深了解Thrift之客户端连接池化
  5. 这款折纸机器人玩具,可以帮助孩子学习编程和Robot知识
  6. Kubernetes-基于EFK进行统一的日志管理原理(kibana查询语法)
  7. ArcGIS Engine开发前基础知识(3)
  8. 超详细MySQL安装及基本使用教程
  9. 解决谷歌导入Vue开发工具没反应的问题
  10. 初入算法岗的切身经验之谈:干什么?怎么干?如何学?
  11. Bean初始化错误:Instantiation of bean failed; nested exception is java.lang.ExceptionInInitializerError
  12. proxychains DNS解析失败问题
  13. 实体与实体之间的联系
  14. Qt 中信号和槽机制
  15. 第四章:CPU体系结构笔记
  16. 马明哲辞任中国平安CEO;Shake Shack将进驻中国华南首站深圳 | 美通企业日报
  17. 周易六十四卦——震为雷卦
  18. 智慧商圈支付宝小程序(ISV系统服务商开发模式)
  19. 【微服务实战】什么是微服务,微服务怎么实施?
  20. 搭建kms服务实现window激活

热门文章

  1. STM32驱动WS2811
  2. C28x DSP程序加载与运行
  3. mysql怎么卸载干净
  4. Navicat安装(一篇通解)
  5. 移动边缘计算卸载技术笔记(一)
  6. 蓄电池组电压采集模块应用于风力发电厂
  7. 自然语言处理与企业对话系统设计
  8. 小甲鱼 C语言 帮助社区大妈编写一个打疫苗登记程序
  9. Remoting批量注册
  10. 你想在网易云音乐中播放 QQ 音乐中下载的歌曲吗?用上它后助你秒实现!