我有一個三星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
中看到的值。
- 我嘗試在設備上,並返回
Error
。 - 什麼是我可以使用的替代ID,這對設備是唯一的(即使設備恢復或生根也不會改變)。
- 我需要的ID是可見的,所以我可以將它註冊到我的數據庫以允許訪問應用程序的登錄。
我試過這個ID,但作爲文檔說,它將改變設備恢復或植根時。我不想要那個。我也沒有辦法得到這個ID,以便我可以註冊它不像序列號,我可以去'設置>關於設備>狀態>序列號.'然後將該值存儲到數據庫 – Giant
提到這個問題,有很多其他方式你可以得到設備ID,檢查所有答案一次,至少有一個應該工作 – Redman
我只有一個問題,我可以在哪裏看到設備的價值?我需要先看到它,所以我可以註冊到我的數據庫。 – Giant