zoukankan      html  css  js  c++  java
  • 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;
        }
  • 相关阅读:
    laravel5.6 调用第三方类库
    substring
    SpringSecurity3配置及原理简介
    正则表达式
    type=json
    正则表达式2
    笔记1
    oracle 自带函数大全及例子
    Vector容器类
    HQL
  • 原文地址:https://www.cnblogs.com/LCLBook/p/11352633.html
Copyright © 2011-2022 走看看