Android 에서 유일한 기계 코드 가 져 오기
응용 을 할 때 모든 장치 의 기계 코드 를 가 져 와 야 하 는 경우 가 많다.
또는 모든 장 치 는 Telephony Manager. getDeviceId () 의 모든 GSM 장 치 를 되 돌려 줍 니 다. Telephony Manager. getSimSerialNumber () 의 모든 CDMA 장 치 는 getSimSerialNumber () 에 대해 빈 값 을 되 돌려 줍 니 다!구 글 계 정 이 추 가 된 모든 장 치 는 ANDROID 를 되 돌려 줍 니 다.ID 모든 CDMA 장치 가 ANDROIDID 와 Telephony Manager. getDeviceId () 는 같은 값 으로 되 돌려 줍 니 다 (설정 할 때 구 글 계 정 만 추가 하면) 정상 적 인 상황 에서 장치 의 유일한 번 호 를 얻 으 려 면 Telephony Manager. getDeviceId () 만으로 도 충분 합 니 다.하지만 DeviceID 가 노출 될 수 있 으 니 이 id 를 암호 화 하 는 것 이 좋 습 니 다.암호 화 된 번 호 는 이 장 치 를 유일 하 게 식별 할 수 있 습 니 다. 예 를 들 어 String. hashCode () 를 사용 하여 UUID 와 결합 합 니 다.
final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
final String tmDevice, tmSerial, tmPhone, androidId;
tmDevice = "" + tm.getDeviceId();
tmSerial = "" + tm.getSimSerialNumber();
androidId = "" + android.provider.Settings.Secure.getString(getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() << 32) | tmSerial.hashCode());
String uniqueId = deviceUuid.toString();
마지막 deviceID 는 다음 과 같은 결과 일 수 있 습 니 다: 000000 - 54b3 - e7c7 - 0000 - 00046bffd 97
권한 을 추가 하 세 요:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.