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 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";    }}

更多相关文章

  1. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  4. 读取android手机流量信息
  5. Android屏幕分辨率正确获取及PX,DPI,DP,SP等的对应关系
  6. android 使用html5作布局文件: webview跟javascript交互
  7. Android(安卓)多媒体扫描过程(Android(安卓)Media Scanner Proces
  8. android“设置”里的版本号
  9. Android开发环境搭建

随机推荐

  1. Android中回调下载事件处理实现步骤
  2. Android(安卓)Material Design之Coordina
  3. android中的spinner动态加载内容
  4. Android(安卓)Studio 1.2中配置androidan
  5. Qt for Android(安卓)Flutter - AAPT: er
  6. Android(安卓)NDK 往控制台打印Log
  7. 安卓课程二十一 SeekBar拖动控件的使用
  8. android之hardwareAccelerated你不知道的
  9. 【Android學習專題】数据存储篇:SQLite
  10. Android(安卓)attrs文件(自定义)属性详解