Android开发——获取并生成唯一识别码

方法一:不需要权限(推荐)

使用一些不需要权限的硬件设备码来生成Android设备的唯一识别码

//获得独一无二的Psuedo ID
public static String getUniquePsuedoID() {
       String serial = null;

       String m_szDevIDShort = "35" + 
            Build.BOARD.length()%10+ Build.BRAND.length()%10 + 

            Build.CPU_ABI.length()%10 + Build.DEVICE.length()%10 + 

            Build.DISPLAY.length()%10 + Build.HOST.length()%10 + 

            Build.ID.length()%10 + Build.MANUFACTURER.length()%10 + 

            Build.MODEL.length()%10 + Build.PRODUCT.length()%10 + 

            Build.TAGS.length()%10 + Build.TYPE.length()%10 + 

            Build.USER.length()%10 ; //13 位

    try {
        serial = android.os.Build.class.getField("SERIAL").get(null).toString();
       //API>=9 使用serial号
        return new UUID(m_szDevIDShort.hashCode(), serial.hashCode()).toString();
    } catch (Exception exception) {
        //serial需要一个初始化
        serial = "serial"; // 随便一个初始化
    }
    //使用硬件信息拼凑出来的15位号码
    return new UUID(m_szDevIDShort.hashCode(), serial.hashCode()).toString();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

方法二:在接受需要用户授权的情况下生成唯一识别码:

需要添加权限,当然也需要做动态权限适配。

<uses-permission android.permission.READ_PHONE_STATE/>
  • 1

方法如下:

 public static String getAPPID(){
        final TelephonyManager tm = (TelephonyManager) MyApplication.getContext().getSystemService(Context.TELEPHONY_SERVICE);
        final String tmDevice, tmSerial, androidId;
        tmDevice = "" + tm.getDeviceId();
        tmSerial = "" + tm.getSimSerialNumber();
        androidId = "" + android.provider.Settings.Secure.getString(MyApplication.getContext().getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);

        UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() << 32) | tmSerial.hashCode());
        return deviceUuid.toString();

    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
版权声明:转载请注明作者或出处!! https://blog.csdn.net/qq_33923079/article/details/56673146

猜你喜欢

转载自blog.csdn.net/leansmall/article/details/80518996