Android

[안드로이드] Mac Address 구하기

유정주 2021. 8. 10. 09:00
반응형

안녕하세요.

핸드폰의 mac address를 구하는 방법입니다.

스택 오버플로우 등에는 현재는 동작하지 않는 코드가 많더군요.

저도 그것 때문에 고생을 했는데 아래 함수는 잘 사용하고 있습니다.


 

핸드폰 Mac Address 구하기

public static String getMacAddress() {
        String interfaceName = "wlan0";
        try {
            List<NetworkInterface> interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
            for (NetworkInterface intf : interfaces) {
                if (interfaceName != null) {
                    if (!intf.getName().equalsIgnoreCase(interfaceName)) 
                        continue;
                }
                byte[] mac = intf.getHardwareAddress();
                if (mac==null) 
                    return "";
                
                StringBuilder buf = new StringBuilder();
                for (int idx=0; idx<mac.length; idx++)
                    buf.append(String.format("%02X:", mac[idx]));
                
                if (buf.length()>0) 
                    buf.deleteCharAt(buf.length()-1);
                
                return buf.toString();
            }
        } catch (Exception ex) { } // for now eat exceptions

        return "00:00:00:00";
}

 

 

Exception이 날 경우 "00:00:00:00"을 return하게 해놓았습니다.

저는 어떻게든 Mac 형식 String이 필요했거든요.

 

입맛대로 변경하여 사용하시면 되겠습니다.

감사합니다!


 


아직은 초보 개발자입니다.

더 효율적인 코드 훈수 환영합니다!

좋아요 눌러주세요!

반응형