在安卓系统中获取UDID

6

我正在开发一个安卓应用程序,想要获取安卓模拟器的UDID。请问我该如何实现?

谢谢您的帮助, Tushar

3个回答

9
我不确定这是否是您想要的,但您可以使用:Settings.Secure.ANDROID_ID。该链接是 Android 开发者网站上关于 ANDROID_ID 的页面。
public class YourActivity extends Activity {
    //...Omitted code
    public String getId() {
        String id = android.provider.Settings.System.getString(super.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
        return id;
    }
}

请注意,这不是IMEI号码。如果您需要此信息,请使用getDeviceId()

你使用的是哪个设备/ API 级别? - firefox1986

4

您可以使用TelephonyManager和方法getDeviceID()来实现此操作。但不幸的是,我认为对于模拟器它将始终返回null。

Context.getSystemService(Context.TELEPHONY_SERVICE).getDeviceID();

请不要忘记设置所需的权限:

返回唯一设备ID,例如GSM手机的IMEI和CDMA手机的MEID或ESN。如果设备ID不可用,则返回null。需要权限:READ_PHONE_STATE。

如果您想获得唯一的十六进制字符串作为ID,您可能还会对以下内容感兴趣:

http://developer.android.com/reference/android/provider/Settings.Secure.html#ANDROID_ID


我更新了答案,这样你就可以看到如何使用getDeviceID。 - RoflcoptrException
Android设备没有UUID。相反,它具有GSM移动电话的IMEI号码和SIM序列号,对于CDMA手机,则为MEID或ESN。所有这些ID都是唯一的。要获取SIM序列号,请使用此代码:tmgr.getSimSerialNumber();。所有这些方法将返回字符串结果。 - Anoop Chandrika HarisudhanNair
getDeviceId():此方法已在API级别26(Android 8)中弃用。 - testing

-1
你试过 Ti.Platform.id 吗?这在模拟器中会返回一个值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接