1. 程式人生 > >Android獲取裝置唯一標識碼

Android獲取裝置唯一標識碼

話不多說,先貼程式碼

/**獲取裝置唯一標識碼

* @param context 上下文

* @return 裝置唯一標識碼

*/public static String getUDID(Context context) {

    String udid = AppConfig.getUDID(context, null);

    if (udid == null || "".equals(udid.trim())) {

        TelephonyManager telephonyManager =(TelephonyManager) 
        context.getSystemService(Context.TELEPHONY_SERVICE);

        udid = telephonyManager.getDeviceId();

        if
(udid == null || "".equals(udid.trim()))
 udid = Build.SERIAL; //非手機裝置if (udid == null || "".equals(udid.trim())) { //兩種都獲取不到,隨機生成
 Random random = new Random();
 int rand = random.nextInt(100000);
 long
curTimeMills = System.currentTimeMillis();
 udid = curTimeMills + "," + rand;
 }
 AppConfig.setUDID(context, udid);
 }

 return udid;
 }

主要邏輯就是:
1、先通過TelephonyManager獲取裝置ID,絕大部分裝置都可以成功獲取ID;
2、在獲取不到的情況下,再獲取uild.SERIAL;
3、依然獲取不到,則通過隨機數生成。