프로그래밍을 하다보면 특정 장치라는것을 식별하기 위한 값들을 가져와서 각 장치별로 구분이 가능해야 하는데,
이때 쓸만한 것이 전화번호, IMEI값(?), MAC주소 같은것이 될것 같네요.
// 고유 값 알아보기
// 휴대폰의 전화번호 가져오기
TelephonyManager mgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber = mgr.getLine1Number();
WifiManager wifi = (WifiManager)this.getSystemService(Context.WIFI_SERVICE);
String imei = mgr.getDeviceId();
WifiInfo info = wifi.getConnectionInfo();
// 위와 같은 소스를 통해서 phoneNumber 변수와, imei에는 특정값이 들어가게 될 것입니다.
// 맥주소의 경우는 info.getMacAddress 로 가져와서 바로 출력하도록 했네요.
Log.d("Device Id : ", "휴대폰 번호 = " + phoneNumber + " 단말기 번호 =" + imei + " 맥주소 : " + info.getMacAddress());
해당 내용을 작성하시고 에뮬레이터 상에서 테스트 하시면, phoneNumber 를 제외하고는 제대로 나오지 않을 것입니다.
아마도 imei 는 16자리의 숫자 0이 찍히게 될 것이고, Mac주소는 null 값이 나오게 됩니다.
imei값은 들어있지 않고, Mac주소의 경우는 에뮬레이터에서 Wifi 드라이버를 로딩해오지 않기 때문에 없는것으로 나온답니다.
'안드로이드 개발' 카테고리의 다른 글
안드로이드에서 현재 최상위 Activity 값 알아보기 (1) | 2011.02.17 |
---|---|
안드로이드 Cursor 사용시 Finalizing a Cursor that has not been deactivated or closed. 문제 해결. (0) | 2011.02.16 |
안드로이드 모델명 및 브랜드 이름 등 값 가져오기 (1) | 2011.02.15 |
이미지 기본 상태와 Press 상태에 따라서 다른 효과 보여주도록 xml 파일 만들기 (0) | 2011.02.08 |
안드로이드 Thread 에서 UI 쓰레드 이외의 쓰레드에서 UI를 변경하는 방법 (0) | 2011.02.01 |