如何将Android设备ID设置为字符串(使用Java代码Android 2.2+),当我将其连接到计算机(example from eclipse "Serial number" field)或输入“adb devices”时显示CMD?我知道它不是ANDROID_ID或telephonyManager.getdeviceId()或Build.SERIAL 但是我找不到它是什么......
答案 0 :(得分:4)
唯一通用的方法是从USB接口设置中提取数字:
/sys/class/android_usb/android0/iSerial
除此之外,每个供应商都可以选择存储序列号的方式。他们中的一些人选择不填充ro.serialno
财产。
答案 1 :(得分:1)
如果您需要adb devices
命令显示的ID,那么它确实是Build.SERIAL
。
Eclipse中显示的值似乎只是Build.MANUFACTURER
,Build.MODEL
和Build.SERIAL
的串联。
至少这些是在Nexus设备上进行测试时的结果。
答案 2 :(得分:0)
尝试使用android.os.build类中的SERIAL字符串 http://developer.android.com/reference/android/os/Build.html#SERIAL
答案 3 :(得分:-2)
将android:name="android.permission.READ_PHONE_STATE"
添加到您的清单
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String id = telephonyManager.getDeviceId();
答案 4 :(得分:-3)
如果你想获得android_id,你可以使用
private String getAndroidID() {
String androidId = Settings.Secure.getString(getContentResolver(),Settings.Secure.ANDROID_ID);
return androidId;
}
如果你想要设备ID,你可以使用
private TelephonyManager getTelephonyManager() {
TelephonyManager telephonyManager = ( TelephonyManager )getSystemService( Context.TELEPHONY_SERVICE );
return telephonyManager;
}
private String getIMEIStringOfDevice() {
String imeiString = getTelephonyManager().getDeviceId();
return imeiString;
}