2016-11-16 5 views
-1

나는 삼성 j5를 보유하고 있습니다.일련 번호와 같은 각 기기의 Android 고유 ID

설정> 장치 정보> 상태> 일련 번호로 나와있는 일련 번호를 사용하고 있습니다.

이 값은 RF8H933KWLF이며 고유하다고 가정합니다. 이제이 값을 데이터베이스에 등록하고 앱을 실행할 때 데이터베이스에 요청을 보내고 내가 사용하는 장치가 내 데이터베이스에 등록되어 있는지 확인합니다. 장치 일련 번호를 얻는 방법은 다음과 같습니다.

String serialNumber = ""; 
try { 
    Class <? > c = Class.forName("android.os.SystemProperties"); 
    Method get = c.getMethod("get", String.class, String.class); 
    serialNumber = (String) get.invoke(c, "sys.serialnumber", "Error"); 
    if (serialNumber.equals("Error")) { 
    serialNumber = (String) get.invoke(c, "ril.serialnumber", "Error"); 
    } 

} catch (NoSuchMethodException e) { 
    e.printStackTrace(); 
} catch (IllegalAccessException e) { 
    e.printStackTrace(); 
} catch (InvocationTargetException e) { 
    e.printStackTrace(); 
} catch (ClassNotFoundException e) { 
    e.printStackTrace(); 
} 

내 장치에서 올바른 값을 얻을 수 있습니다.

내 질문에 내가 다른 장치를 사용할 때 나는 Serial Number에서 볼 수있는 값을 얻지 못한다.

  1. 나는 기기에서 시도했는데 Error을 반환합니다.
  2. 장치에 고유 한 대체 ID를 사용할 수 있습니다 (장치가 복원되었거나 루팅 된 경우에도 변경되지 않음).
  3. 아이디가 보이기 전에 내 데이터베이스에 등록하여 앱 로그인에 액세스 할 수 있습니다.

답변

0

이 당신이 고유 ID를 얻을 수있다 전화 번호IMEI 수의 조합을 사용할 수있는 많은 다른 방법 Is there a unique Android device ID?

import android.provider.Settings.Secure; 

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

나는이 ID를 시도했지만 설명서가 장치가 복원되거나 루팅 될 때 변경 될 것이라고 말합니다. 나는 그걸 원하지 않아. 또한이 ID를 얻을 수있는 방법이 없으므로 일련 번호와 달리 등록 정보> 장치> 상태> 일련 번호로 이동할 수 있습니다. '그러면 해당 값을 데이터베이스에 저장하십시오. – Giant

+0

많은 질문이 있습니다. 당신이 장치 ID를 얻을 수있는 다른 방법, 한번만 모든 대답을 확인, 그것 중 적어도 하나는 작동해야합니다 – Redman

+0

나는 장치에서 그 값을 볼 수있는 곳은 단 하나 밖에 없나요? . – Giant

0

을 찾을 수 있습니다 참조하십시오. 전화 번호를 사용자에게 요청할 수 있으며 또한 기기에서 IMEI 번호를 표시 할 수 있습니다. IMEI 번호와 전화 번호를 프로그래밍 방식으로 얻으려면 다음과 같이하십시오.

TelephonyManager teleMan = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
// get IMEI number 
String imei = teleMan.getDeviceId(); 
//get The Phone Number 
String phone = teleMan.getLine1Number(); 

호프가이를 해결합니다. 참고 : - 아직 시도하지 않았습니다.