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

넥서스 5X 맥어드레스

0 추천
넥서스 5X 마시멜로에서 mac address 가 02:00:00:00:00:00 으로 넘어오네요.

디바이스의 설정창에서는 정상적으로 mac address 를 가져 오는거 같은데 아래 코드로 가져오면 저렇게 값이 넘어 옵니다.

WifiManager wm = ( WifiManager ) getSystemService( WIFI_SERVICE );
WifiInfo info = wm.getConnectionInfo();
String mac = info.getMacAddress();

이게 어디서 문제가 생긴걸까요?
kenkounine (120 포인트) 님이 2015년 11월 2일 질문

3개의 답변

+1 추천
Android 6.0부터 WifiInfo.getMacAddress() 와 BluetoothAdapter.getAddress() 는 항상 02:00:00:00:00:00 를 반환하도록 변경되었습니다

 

https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-hardware-id
레미_21 (2,920 포인트) 님이 2015년 11월 4일 답변
To provide users with greater data protection, starting in this release, Android removes programmatic access to the device’s local hardware identifier for apps using the Wi-Fi and Bluetooth APIs. The WifiInfo.getMacAddress() and the BluetoothAdapter.getAddress() methods now return a constant value of 02:00:00:00:00:00.

To access the hardware identifiers of nearby external devices via Bluetooth and Wi-Fi scans, your app must now have the ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION permissions:

위의 영문은 제시해 주신 링크에 글인데요.
여기에서 external device 란 wifi 공유기를 뜻하는 것일까요..?
0 추천
와이파이 설정에서 맥어드레스가 어떻게 표기 되는지 먼저 확인해보세요
aucd29 (218,390 포인트) 님이 2015년 11월 4일 답변
와이파이 설정에서는 정상적으로 표기가 되나 api 를 써서 가져오는 값이 정상적이지 않아 다른분들도 그런건지 질문을 올린겁니다.
0 추천
확실히 기억이 나지 않긴 한데, API로 호출하는 경우 동적으로 맥 주소가 바뀐다는 글을 봐서.. 아래 링크에 있는 기능을 사용해 보세요.. 어짜피 시스템에서는 이더넷, 와이파이 이름을 변경하지 않고 사용할 것이니..

http://stackoverflow.com/questions/6064510/how-to-get-ip-address-of-the-device/13007325#13007325
mcsong (44,040 포인트) 님이 2015년 11월 4일 답변
...