Programming

Android에서 고유 한 장치 하드웨어 ID를 얻는 방법은 무엇입니까?

procodes 2020. 8. 17. 11:17
반응형

Android에서 고유 한 장치 하드웨어 ID를 얻는 방법은 무엇입니까? [복제]


이 질문에 이미 답변이 있습니다.

휴대폰 재설정 또는 OS 업데이트를 수행 할 때 변경할 수없는 Android에서 고유 한 장치 ID를 얻는 방법은 무엇입니까?


아래 링크에서이 블로그를 확인합니다.

http://android-developers.blogspot.in/2011/03/identifying-app-installations.html

ANDROID_ID

import android.provider.Settings.Secure;

private String android_id = Secure.getString(getContext().getContentResolver(),
                                                    Secure.ANDROID_ID); 

위의 링크는 @ 고유 한 Android 기기 ID가 있습니까?

보다 구체적으로 Settings.Secure.ANDROID_ID입니다. 장치가 처음 부팅 될 때 생성되고 저장되는 64 비트 수량입니다. 장치가 초기화되면 재설정됩니다 .

ANDROID_ID는 고유 한 기기 식별자로 적합 합니다. 단점이 있습니다. 첫째, Android 2.2 이전 버전 ( 'Froyo')에서는 100 % 신뢰할 수 없습니다. 또한 모든 인스턴스가 동일한 ANDROID_ID를 갖는 주요 제조업체의 인기 핸드셋에서 널리 관찰 된 버그가 하나 이상있었습니다.

아래의 솔루션은 값이 기기 초기화 ( '초기화') 후에도 살아남는 좋은 해결책이 아니므로 고객 중 한 명이 기기를 초기화하고 다른 사람에게 넘길 때 심각한 실수를 범할 수 있습니다 .

아래를 사용하여 장치의 imei 번호를 얻습니다.

  TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
  telephonyManager.getDeviceId();

http://developer.android.com/reference/android/telephony/TelephonyManager.html#getDeviceId%28%29

이것은 매니페스트 추가

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

다음 코드를 사용하여 Android ID를 얻습니다.

String android_id = Secure.getString(this.getContentResolver(),
            Secure.ANDROID_ID);

Log.d("Android","Android ID : "+android_id);

여기에 이미지 설명 입력


Google 개발자 블로그에서 다음 공식 블로그 항목을 읽어보세요. http://android-developers.blogspot.be/2011/03/identifying-app-installations.html

결론 대부분의 응용 프로그램에서 요구 사항은 물리적 장치가 아닌 특정 설치를 식별하는 것입니다. 다행히도 그렇게하는 것은 간단합니다.

특정 장치를 식별하려는 시도를 피하는 데는 여러 가지 좋은 이유가 있습니다. 시도하려는 사람들에게 가장 좋은 방법은 기존 장치에 대한 대체 휴리스틱과 함께 합리적으로 현대적인 모든 것에 ANDROID_ID를 사용하는 것입니다.

.

참고 URL : https://stackoverflow.com/questions/16869482/how-to-get-unique-device-hardware-id-in-android

반응형