• Qt 中使用Java代码获取安卓设备的MAC地址(安卓9.0)


    public String GetDeviceMAC() {
           String strMacAddr = null;
           try {
               // 获得IpD地址
               InetAddress ip = getLocalInetAddress();
               byte[] b = NetworkInterface.getByInetAddress(ip)
                       .getHardwareAddress();
               StringBuffer buffer = new StringBuffer();
               for (int i = 0; i < b.length; i++) {
                   if (i != 0) {
                       buffer.append(':');
                   }
                   String str = Integer.toHexString(b[i] & 0xFF);
                   buffer.append(str.length() == 1 ? 0 + str : str);
               }
               strMacAddr = buffer.toString().toUpperCase();
           } catch (Exception e) {
    
    
           }
           Log.d("MAC2" , "getCPUSerial the result is = " );
           return strMacAddr;
       }
    
    
    private  InetAddress getLocalInetAddress() {
           InetAddress ip = null;
           try {
               // 列举
               Enumeration<NetworkInterface> en_netInterface = NetworkInterface
                       .getNetworkInterfaces();
               while (en_netInterface.hasMoreElements()) {// 是否还有元素
                   NetworkInterface ni = (NetworkInterface) en_netInterface
                           .nextElement();// 得到下一个元素
                   Enumeration<InetAddress> en_ip = ni.getInetAddresses();// 得到一个ip地址的列举
                   while (en_ip.hasMoreElements()) {
                       ip = en_ip.nextElement();
                       if (!ip.isLoopbackAddress()
                               && ip.getHostAddress().indexOf(":") == -1)
                           break;
                       else
                           ip = null;
                   }
    
    
                   if (ip != null) {
                       break;
                   }
               }
           } catch (SocketException e) {
    
    
               e.printStackTrace();
           }
           return ip;
       }
    
    
    private  String getLocalIpAddress() {
            try {
                for (Enumeration<NetworkInterface> en = NetworkInterface
                        .getNetworkInterfaces(); en.hasMoreElements(); ) {
                    NetworkInterface intf = en.nextElement();
                    for (Enumeration<InetAddress> enumIpAddr = intf
                            .getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
                        InetAddress inetAddress = enumIpAddr.nextElement();
                        if (!inetAddress.isLoopbackAddress()) {
                            return inetAddress.getHostAddress().toString();
                        }
                    }
                }
            } catch (SocketException ex) {
                ex.printStackTrace();
            }
            return null;
        }
  • 相关阅读:
    如何找回未保存过的 Excel 文件?
    js 下关于json的销毁和添加
    width:100%和width:auto区别
    在ie6下的png图片的兼容问题
    关于input=file的用法
    div+Css绝对定位(absolute)和相对定位(relative)的总结
    onmouseenter和onmouseleave的兼容性问题
    ckfinder的配置使用
    破解ckfinder2.3 去除版本号和标题提示
    jQuery制作图片的等比例缩放
  • 原文地址:https://www.cnblogs.com/LCLBook/p/11352633.html
Copyright © 2020-2023  润新知