我想以編程方式獲取設備序列號。我用下面一行:Android獲得序列號
Build.SERIAL
它返回類似:
95b9efad04ad28
但是我去了設備上的設置,我可以看到,它會顯示一個不同的字符串:
任何人都可以指向正確的方向嗎?
我想以編程方式獲取設備序列號。我用下面一行:Android獲得序列號
Build.SERIAL
它返回類似:
95b9efad04ad28
但是我去了設備上的設置,我可以看到,它會顯示一個不同的字符串:
任何人都可以指向正確的方向嗎?
這是不是你的答案?:
TelephonyManager tManager = (TelephonyManager)myActivity.getSystemService(Context.TELEPHONY_SERVICE);
String uid = tManager.getDeviceId();
我發現它在here
可悲的不是。我試過這個,但它返回null。這是一個平板電腦,所以不知道這是否有所作爲 –
我試圖讓設備的序列號編程
此功能上破Android的年齡。有些設備會返回null
,有些設備會爲所有設備返回相同的ID等。如果您的應用正在使用Google Play服務,請改爲使用InstanceId,或者查看此內容,但現在仍然是古老的,但仍然有效,blog post。
在活動
public static String getDeviceId(Context context) {
final String deviceId = ((TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId();
if (deviceId != null) {
return deviceId;
} else {
return android.os.Build.SERIAL;
}
}
這不是一個很好的解決方案。你甚至沒有閱讀OP的問題。他確實使用'Build.SERIAL',但沒有返回正確的序列。我有同樣的問題。 deviceId對我而言返回null,因爲它是沒有SIM卡的平板電腦(沒有IMEI)。 – Vucko
這個工作對我試試這個:
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 (Exception e) {
e.printStackTrace();
}
由於Android的ID是在許多設備上破和Android建立的一致好評,我使用了Android ID的混合和設備WIFI-MAC地址,每個設備都是唯一的。 無論Android ID是否爲空,它們都用於創建始終唯一的UUID。
嘗試是沿着此線:
final WifiManager wm = (WifiManager) myAct.getSystemService(Context.WIFI_SERVICE);
String macAddr = null;
if (wm != null)
macAddr = wm.getConnectionInfo().getMacAddress();
String androidId = Secure.getString(myAct.getContentResolver(), Secure.ANDROID_ID);
if (androidId == null)
androidId = "0000000000000000";
if (macAddr == null || macAddr.contains("\\s+") || !macAddr.contains(":"))
macAddr = "00:00:00:00:00:00";
UUID deviceUuid = new UUID(macAddr.hashCode(), androidId.hashCode());
String deviceId = deviceUuid.toString();
我使用'聯想S660'上'4.4.2'運行並返回正確的值。你正在使用什麼設備或版本? – Mithun
[如何找到Android設備的序列號?]可能的重複(http://stackoverflow.com/questions/2322234/how-to-find-serial-number-of-android-device) – RvdK