마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 6.0버전이상 MacAddress값 불러오기 질문입니다..!

0 추천
macaddress값을 불러오는데

2000000000 디폴트값이 불러와지는데

기기마다 있는 macaddress값을 어떻게 불러와햐할까요?? ㅠ.ㅠ

https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-hardware-id

고수분들 부탁드립니다..!
구시포 (2,750 포인트) 님이 2016년 6월 17일 질문

2개의 답변

0 추천
막혔으니 방법이 없습니다.

혹시 우회하여 알아내는 방법이 있더라도 안드로이드 버전이 업데이트되면 다시 막힐 겁니다.

macaddress값을 쓰지 않게 앱을 수정하세요.
익명사용자 님이 2016년 6월 17일 답변
정말 방법이 없는건가요..?
0 추천
private String getWifiMacAddress() {
        try {
            String interfaceName = "wlan0";
            List<NetworkInterface> interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
            for (NetworkInterface intf : interfaces) {
                if (!intf.getName().equalsIgnoreCase(interfaceName)){
                    continue;
                }

                byte[] mac = intf.getHardwareAddress();
                if (mac==null){
                    return "";
                }

                StringBuilder buf = new StringBuilder();
                for (byte aMac : mac) {
                    buf.append(String.format("%02X:", aMac));
                }
                if (buf.length()>0) {
                    buf.deleteCharAt(buf.length() - 1);
                }
                return buf.toString();
            }
        } catch (Exception e) {
            e.printStackTrace();
        } // for now eat exceptions

        return "";
    }

저도 긁어온 것이긴 합니다만... 잘 나옵니다

prague (26,200 포인트) 님이 2016년 6월 17일 답변
혹시 macaddress가 나오는 전체를 알려주실 수 있을까요?
저는 계속 SocketException 에러가 뜨네요..
제 경우는 6.0에서도 아무런 exception없이 잘 나오네요
exception 메시지를 잘 확인해 보세요
...