스마트폰앱

오늘:
1,809
어제:
2,208
전체:
3,051,745

고객센타 : 070-7752-2000
팩스 : 070-7752-2001
휴대폰 : 010-9513-0019
email : voipkorea@yahoo.co.kr

국민은행
(주)제이에스솔루션
047101-04-155519

Flag Counter
■ 무료 : 유선 집전화 휴대폰 ( 한국 미국 중국 카나다) ↔ (국내 해외 여행자 상사 주재원 유학생) / 가입무 무제한무료■

http://stackoverflow.com/questions/13744565/android-device-id-confusion



http://en.wikipedia.org/wiki/Mobile_equipment_identifier




IMEI

The IMEI is the 'MAC' for the telephony module - the unique ID that the telephone uses when it connects via GSM/GPRS/HSPDA/etc. The GSM network uses it to route calls and data from the phone over the GSM network right up to the gateway into the Internet (which is an IP network).

A telephony module is a chip or circuit board that handles the telephone network, either GSM or CMDA, and often has a slot for a removable SIM card. Some phones have more than one telephony module (active dual- or multi-SIM phones). Each telephony module has its own IMEI.

Manufacturers give each phone (strictly the telephony module) a unique IMEI during manufacturing. However the number can normally be rewritten if you have the right software. This is often done after a phone has been stolen to give the phone a new identity and bipass stolen phone blocking system.

The IMEI can be programmatically obtained using the TelephonyManager.getDeviceId() API.

CDMA phones have a ESN or MEID which are different lengths and formats, even though it is retrieved using the same API.

Android devices without telephony modules - for example many tablets and TV devices - do not have an IMEI. As Schlangi commented, some devices that do not have a telephony module fake the IMEI, so the presence of an IMEI does not (always) guarantee the device has a telephony module.

ANDROID_ID

The ANDROID_ID is another unique number on the phone - this is automatically generated by the OS as it boots for the first time (doing it this way makes it much easier for the manufacturers by removing a step from the production line).

The ANDROID_ID can (and does) change, for example:

It is mainly used by developers (eg identifying and connecting to devices using adb)

ANDROID_ID can be used to identify an Android device given the caveats above, realistically meaning that it uniquely identifies the device over significant portions of the device lifetime, but cannot be relied on.

Also note that there was a bug in Froyo where many devices gave themselves the same ANDROID_ID. This is the bug

Other identifiers

There are a number of other things that can be used identify the device:

  • MAC address of the WiFi module: WifiManager.getConnectionInfo() -> WifiInfo.getMacAddress(). This can often be changed in software, but generally is constant over the device lifetime. Also it can only be read if the WiFi module is switched on.
  • MAC address of the BlueTooth module: BluetoothAdaptor.getAddress(). Like WiFi MAC, this can often be changed in software and may be off when you need it
  • The subscriber's telephone number. This may change if the user requests a new number from the telco, or if the user switches SIMs. It is obtained from TelephonyManager.getLine1Number(). This is only present for Android phone devices with a current SIM installed and a paid service with a telco.
  • The SIM contains its own identifying number (IMSI). This is obtained from theTelephonyManager.getSubscriberId() API. Obviously the SIM may not be present at any specific time, and it changes when the SIM is changed - and users can upgrade/replace their SIM while keeping the same number, so you can't say that this is one-to-one to a specific phone or user.
  • Related to the IMSI is the MSISDN. This functions as the identification of a subscription (your contract for a specific telephone number with your mobile provider) and therefore gives the device its telephone number. The MSISDN may be associated with several SIM cards, and therefore several phones. It comes with all the caveats for reading the SIM above. This may be retrieved withTelephonyManager.getSimSerialNumber(). Thanks Schlangi for the corrections and additions
  • Gingerbread and later has android.os.Build.SERIAL which many manufacturers set (but not all. Bugger).

Other notes


There are some approach to get unique identifier on android phone.

  1. Android ID It is a 64-bit hex string which is generated on the device's first boot. Generally it won't changed unless is factory reset.

    Secure.getString(getContentResolver(), Secure.ANDROID_ID);

The Android ID , considered unreliable because it can sometimes be null. The documentation states that it "can change upon factory reset". This string can also be altered on a rooted phone.

   String m_szAndroidID = Secure.getString(getContentResolver(), Secure.ANDROID_ID);

Returns: 9774d56d682e549c . No special permissions required.

2. The WLAN MAC Address string, is another unique identifier that you can use as a device id. Before you read it, you will need to make sure that your project has the android.permission.ACCESS_WIFI_STATE permission or the WLAN MAC Address will come up as null.

 WifiManager wm = (WifiManager)getSystemService(Context.WIFI_SERVICE);
 String m_szWLANMAC = wm.getConnectionInfo().getMacAddress();
Returns: 00:11:22:33:44:55 (not a real address since this is a custom ROM , as you can see the MAC address can easily be faked).
WLAN doesn't have to be on, to read this value.

3. The BT MAC Address string, available on Android devices with Bluetooth, can be read if your project has the android.permission.BLUETOOTH permission.

    BluetoothAdapter m_BluetoothAdapter = null; // Local Bluetooth adapter
    m_BluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
   String m_szBTMAC = m_BluetoothAdapter.getAddress();

Returns: 43:25:78:50:93:38 . BT doesn't have to be on, to read it. 4. IMEI only for Android devices with Phone use:

 TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
 String szImei = TelephonyMgr.getDeviceId(); // Requires READ_PHONE_STATE

This requires adding a permission in AndroidManifest.xml, and users will be notified upon installing your software: android.permission.READ_PHONE_STATE. The IMEI is unique for your phone and it looks like this: 359881030314356 (unless you have a pre-production device with an invalid IMEI like 0000000000000). For more info refer this link.

조회 수 :
7529
등록일 :
2014.02.14
12:27:44 (*.251.139.148)
엮인글 :
http://webs.co.kr/index.php?document_srl=38756&act=trackback&key=eb9
게시글 주소 :
http://webs.co.kr/index.php?document_srl=38756
List of Articles
번호 제목 글쓴이 날짜 조회 수
65 Pc 에서 USB 로 폰 인식 안될때 해결 방법 10가지 윈도우 10 admin 2018-01-12 568
64 컴퓨터 작업 표시줄 얼음 프리징 먹통 윈도우 10 해결 방법 admin 2018-01-12 520
63 usb PC 에서 인식 안됨 현상 삼성 스마트폰 통합드라이버 다운로드 설치 주소 링크 admin 2018-01-12 515
62 스마트폰 을 피씨와 연결해도 인식이 안될때 USB 조치방법 admin 2018-01-12 533
61 070인터넷 전화 활용하기 010휴대폰 해외 로밍요금 해결방법 SK LG KT admin 2017-12-28 525
60 SKT 통화내역 조회 전화번호 와 발신 날짜 기록 확인 조회 하는 방법 admin 2017-09-02 1369
59 SKT 착신전화 방법 admin 2017-08-20 1453
58 고릴라 글래스 테슬라 그라스 그래스 아이폰 아이패드 에어 admin 2015-12-05 2570
57 FLEXJSON admin 2015-04-16 3261
56 삼성전자 무선사업부 개발실에서는 무슨 일을 할까요? admin 2015-03-16 4135
55 [인포그래픽] 삼성전자 휴대전화 통신기술의 진화 admin 2015-03-16 3641
54 통신사 포인트, 몰라서 안 쓴다 해 바뀌면 소멸… 영화관·편의점 등 사용처 다양 admin 2015-03-11 3823
53 ▣ 전화 수신거부 당하면 어떻게 될까? admin 2015-03-09 4185
52 통신3사의 무제한 요금제 뒤에 감추어진 꼼수 통화분수 분석 부가통화 꼼수 file admin 2015-01-04 4360
» android device id imei imsi wifi bluetooth simserial admin 2014-02-14 7529
50 Top 10 Battery Saving Tips for Android admin 2014-02-11 8388
49 Force Samsung Galaxy S4 to Connect to WCDMA Only Network Mode admin 2014-02-11 7328
48 8 way How to Find the IMEI Number on a Mobile Phone admin 2013-11-10 11376
47 Getting IMEI Number and other Details admin 2013-11-04 10761
46 [IMEI 조회] 아이폰 iPhone 2G 3 3GS 4 4S 5 스마트폰 휴대폰 IMEI 조회 방법 admin 2013-11-04 9174
45 T 로밍데이타 One Pass 요금제 9900원/일 admin 2013-06-01 9210
44 Olleh 해외 로밍 데이타 서비스 11000원 /일 admin 2013-06-01 10473
43 SK T끼리 요금제 설명 file admin 2013-03-25 9284
42 이동전화 최적요금제 조회 admin 2013-02-17 8124
41 LG 휴대폰 요금제 정리 admin 2013-02-17 9423
40 SK 휴대폰 요금제 정리 admin 2013-02-17 8706
39 KT 휴대폰 요금제 정리 admin 2013-02-17 8564
38 망중립성 관련 admin 2013-02-16 8352
37 SK KT LG 통신사별 LTE 무제한 요금제 비교 및 노리는 것은? admin 2013-02-16 9130
36 샌디스크 크루저 8G USB CD영역 생성하기 admin 2013-01-02 9142
35 중국 한국 발신번호 제공 휴대폰 무료 국제전화 China CLI admin 2013-01-02 10507
34 아이폰 5 사양 iphone 5 사양 file admin 2012-12-04 9034
33 발신번호표시 (CID) 란 ? 용어 설명 file admin 2012-06-28 10909
32 아이폰4 VS 갤럭시S 사양비교 admin 2012-05-21 9899
31 통신사별 휴대폰 주파수 사용현황 admin 2012-05-18 11966
30 "10원이라도 더 싸게" 이동통신 반값 전쟁 MVNO admin 2012-05-16 10476
29 알면 힘이되는 휴대폰 상식 admin 2012-05-11 10915
28 4G Wibro 커버리지 Olleh KT Wibro admin 2012-05-07 10145
27 이동통신사 LTE 요금제비교 admin 2012-05-07 10200
26 베가레이서2, 갤럭시S3, 옵티머스LTE2 사양비교 admin 2012-05-07 13661
25 한국 휴대폰에서 미국 중국 카나다 베트남 무료 국제전화 서비스 사용방법 admin 2012-04-27 10899
24 북경 핸드폰 플랜에 관한 팁 admin 2012-04-15 10522
23 중국 핸드폰은 어떻게 쓸까? admin 2012-04-15 10449
22 발신번호표시제한과 추적방법 admin 2012-04-15 14295
21 마우스 오른쪽 버튼 클릭 금지를 풀 수 있답니다. admin 2012-04-15 10282
20 발신자표시제한 번호 추적 방법 admin 2012-04-15 16748
19 발신번호 표시제한으로 온 전화의 번호 알아내는 방법!! admin 2012-04-15 30276
18 핸드폰으로 핸드폰에 전화할때 발신번호제한은 admin 2012-04-15 11070
17 발신번호 표시제한으로 걸려온 온 번호 확인하는 방법 admin 2012-04-15 12394
16 아이폰 발신번호 표시제한 발신번호 표시 숨기기 admin 2012-04-15 13883
15 SKT KT LGT 휴대폰 착신전환 설정방법 admin 2012-04-14 33352
14 국제로밍을 하지 않고 자신의 휴대폰으로 걸려오는 전화를 외국 전화기에서 받기 admin 2012-04-14 12268
13 휴대폰 발신번호표시 통화중대기 착신전환등 부가서비스 가격및 사용방법 admin 2012-04-14 14971
12 SK Broadband 지정전화 자동 연결서비스 admin 2012-04-14 10272
11 LG U+ 휴대폰 통화도우미 앱에서 착신전환등 통화 부가 설정 기능 admin 2012-04-14 15695
10 통화 기능 코드를 사용하여 착신 전환 설정 또는 해제 admin 2012-04-14 12314
9 중국 연통 휴대폰 착신전환 설정및 해제방법 admin 2012-04-14 11120
8 휴대폰 착신 전환 - T world에서 간편하게 하기 admin 2012-04-14 11329
7 무료국제전화 서비스 앱 admin 2012-03-18 9718
6 acrobit video call 설정및 사용하기 admin 2012-01-29 12946
5 Sipdroid 음성및 화상 통화 앱 다운로드및 사용 admin 2012-01-15 13153
4 스마트폰 , PC 음성 및 Video Call (화상통화) 전화통화 앱 BRIA admin 2012-01-15 24874
3 스마트폰 어플 sipdroid.doc file admin 2011-12-14 10092
2 스마트폰어플 Acrobit file admin 2011-12-14 10524
1 스마트폰 어플 Media5.doc file admin 2011-12-14 8750