android手机获取唯一标识的方法

 更新时间:2017年06月02日 10:42:52   作者:如果不曾经历  
这篇文章主要 为大家详细介绍了android手机获取唯一标识的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

获取手机唯一标识

拼接的方式获取手机唯一标识

第一种方式是获取IMEI,但是有的手机如果不是正品的话,就获取不到所以通过这一种方式还是会出现有的设备是没有唯一标识的
第二种方式获取手机卡的序列号,当然这种也不是唯一的,因为有的手机是双卡双待的所以可能会出现空的情况
第三种方式是万能的也就是UUID,随机生成一个标识,但是必须保存在本地,防止下一次进入的时候再次生成随机码
进行三层判断,来获取手机的唯一标识。

//获取手机的唯一标识
 public String getPhoneSign(){
   StringBuilder deviceId = new StringBuilder();
   // 渠道标志
   deviceId.append("a");
   try {
    //IMEI(imei)
    TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
    String imei = tm.getDeviceId();
    if(!TextUtils.isEmpty(imei)){
     deviceId.append("imei");
     deviceId.append(imei);
     return deviceId.toString();
    }
    //序列号(sn)
    String sn = tm.getSimSerialNumber();
    if(!TextUtils.isEmpty(sn)){
     deviceId.append("sn");
     deviceId.append(sn);
     return deviceId.toString();
    }
    //如果上面都没有, 则生成一个id:随机码
    String uuid = getUUID();
    if(!TextUtils.isEmpty(uuid)){
     deviceId.append("id");
     deviceId.append(uuid);
     return deviceId.toString();
    }
   } catch (Exception e) {
    e.printStackTrace();
    deviceId.append("id").append(getUUID());
   }
   return deviceId.toString();
  }
/**
  * 得到全局唯一UUID
  */
 private String uuid;
 public String getUUID(){
  SharedPreferences mShare = getSharedPreferences("uuid",MODE_PRIVATE);
  if(mShare != null){
   uuid = mShare.getString("uuid", "");
  }
  if(TextUtils.isEmpty(uuid)){
   uuid = UUID.randomUUID().toString();
   mShare.edit().putString("uuid",uuid).commit();
  }
  return uuid;
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • android中adb命令最全总结

    android中adb命令最全总结

    本文主要介绍了android中adb命令最全总结,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Android仿京东首页轮播文字效果

    Android仿京东首页轮播文字效果

    这篇文章主要介绍了Android仿京东首页轮播文字效果,又名垂直跑马灯,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Android金额输入框只允许输入小数点后两位效果

    Android金额输入框只允许输入小数点后两位效果

    实现android 金额输入框输入小数点后两位的效果也不是很复杂,只需要设置输入框输入的字符类型、设置InputFilter、设置输入变化监听即可。这篇文章主要介绍了Android金额输入框只允许输入小数点后两位 ,需要的朋友可以参考下
    2017-05-05
  • Android EditText自定义样式的方法

    Android EditText自定义样式的方法

    这篇文章主要介绍了Android EditText自定义样式的方法,结合实例形式分析了EditText属性的含义及样式定义的技巧,需要的朋友可以参考下
    2016-02-02
  • Android startActivityForResult的基本用法详解

    Android startActivityForResult的基本用法详解

    这篇文章主要介绍了Android startActivityForResult的基本用法详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 微信第三方登录Android实现代码

    微信第三方登录Android实现代码

    本篇文章主要介绍了微信第三方登录Android实现代码,可以通过微信登陆到第三方应用,有需要的可以了解一下。
    2016-11-11
  • Android实现拍照功能

    Android实现拍照功能

    这篇文章主要为大家详细介绍了Android实现拍照功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Android录音--AudioRecord、MediaRecorder的使用

    Android录音--AudioRecord、MediaRecorder的使用

    本篇文章主要介绍了Android录音--AudioRecord、MediaRecorder的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Android中底部菜单被输入法顶上去的解决方案

    Android中底部菜单被输入法顶上去的解决方案

    我们一般的解决方法是获取焦点,底部隐藏,失去焦点,底部菜单出现,但是,有些人会点击这个按钮收起键牌。这篇文章主要介绍了Android中底部菜单被输入法顶上去的解决方案,需要的朋友参考下吧
    2017-01-01
  • 优化Gradle提升Gradle编译速度

    优化Gradle提升Gradle编译速度

    今天小编就为大家分享一篇关于优化Gradle提升Gradle编译速度的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10

最新评论