测试机器: android平板 型号:aosonR103。Android版本:6.0
一开始使用的androidId,但是如果平板恢复出厂设置后,这个androidId就会发生变化,所以使用androidId并不能保证是唯一标识。但是发现设备的序列号,却可以在恢复出厂设置后,保持不变。以下便为获取序列号的方法:
try {
Class<?> c = Class.forName("android.os.SystemProperties");
Method get = c.getMethod("get", String.class, String.class);
String serialnum = (String) (get.invoke(c, "ro.serialno", "unknown"));
} catch (Exception ignored) {
}
以下为获取androidId的方法:
String androidId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
测试结果:
第一次:序列号: EQLV ONVW FYUO SSVG ; androidId: 12bd49bc142c52a4
恢复出厂设置后:序列号: EQLV ONVW FYUO SSVG; androidId: e84b738d99ef577b
总结:序列号未发生变化。
2018.5.9 新问题反馈:以上为测试一款安卓pad的情况,获取序列号是可行的。但是最近公司新采购了一款pad,此款pad的序列号:0123456789ABCDEF 。并且买回的所有pad序列号都是如此。因此,针对此款设备,序列号不可行。