일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Android Bluetooth
- 안드로이드 디버깅툴
- 바텀네비
- 투명도 hex값
- retrieveExplicitStyle
- Android
- 안드로이드aab변환
- Android OS 10
- BottomNavigation
- aab파일apk변환
- 안드로이드apk변환
- 로띠애니메이션
- 디바이스ID
- Bluetooth 스캔
- bottomNavigation animation
- 앱강종
- 로그캣 색상변경
- 안드로이드
- Opacity Hex
- Android10
- lottieAnimation
- target29
- 로그캣 색상지정
- 안드로이드 로그캣
- svn체크아웃
- 고유식별자
- apk변환
- 바텀네비게이션
- 앱강종현상
- targetSDK29
Archives
- Today
- Total
공부하는 다락방
안드로이드 6.0에서 디바이스 MACAddress 가져오는 방법 본문
안드로이드 6.0에서는 디바이스의 맥어드레스를 가져오지 못합니다.
그러나 다른방법으로 가져오는 방법은 있습니다.
안드로이드의 /sys/class/net/wlan0/address에 Wifi에 대한 mac address의 값을 저장하고 있습니다.
public static String getMACAddress(String interfaceName) {
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 "";
}
String macAddress = getMACAddress("wlan0");
테스트 해보니 잘 가져오고 있습니다.
덧붙여 말씀드리자면 해당 정보에 접근하기 위해서는 아래 두가지 퍼미션이 필요합니다.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
'Android' 카테고리의 다른 글
URL XML 파싱 방법 (0) | 2017.03.08 |
---|---|
[안드로이드 스튜디오]로그캣(logcat) 색깔 바꾸기 (0) | 2017.01.05 |
[WebView] addJavascriptInterface() 사용시 주의사항 (1) | 2017.01.05 |
Bluetooth가 off 되었어도 스캔할 수 있는 방법 (0) | 2016.06.14 |
Android 설치 방법 (0) | 2014.10.14 |
Comments