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

发布时间 - 2026-01-11 01:38:44    点击率:

获取手机唯一标识

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

第一种方式是获取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手机获取唯一标识  # android手机获取标识  # android手机唯一标识  # 浅谈android获取设备唯一标识完美解决方案  # Android客制化adb shell进去后显示shell@xxx的标识  # Android中MPAndroidChart自定义绘制最高点标识的方法  # android 获取APP的唯一标识applicationId的实例  # android获取手机唯一标识的方法  # Android 如何获取设备唯一标识  # 这一  # 也不  # 如果不是  # 第二种  # 第一种  # 大家多多  # 第三种  # 是唯一  # StringBuilder  # deviceId  # getPhoneSign  # String  # append  # getSystemService  # tm  # TelephonyManager  # imei  # public 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  历史网站制作软件,华为如何找回被删除的网站?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  如何在阿里云购买域名并搭建网站?  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  详解jQuery停止动画——stop()方法的使用  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  想要更高端的建设网站,这些原则一定要坚持!  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  如何快速搭建高效可靠的建站解决方案?  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  清除minerd进程的简单方法  微信小程序 五星评分(包括半颗星评分)实例代码  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Laravel如何集成Inertia.js与Vue/React?(安装配置)  html如何与html链接_实现多个HTML页面互相链接【互相】  js实现点击每个li节点,都弹出其文本值及修改  Laravel如何为API编写文档_Laravel API文档生成与维护方法  如何在IIS7上新建站点并设置安全权限?  如何用搬瓦工VPS快速搭建个人网站?  高防服务器租用如何选择配置与防御等级?  如何在IIS7中新建站点?详细步骤解析  如何在腾讯云服务器上快速搭建个人网站?  大型企业网站制作流程,做网站需要注册公司吗?  如何确保FTP站点访问权限与数据传输安全?  网站建设要注意的标准 促进网站用户好感度!  Python图片处理进阶教程_Pillow滤镜与图像增强  如何选择可靠的免备案建站服务器?  Laravel如何使用Telescope进行调试?(安装和使用教程)  网页设计与网站制作内容,怎样注册网站?  Laravel如何使用Vite进行前端资源打包?(配置示例)  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  nodejs redis 发布订阅机制封装实现方法及实例代码  Bootstrap CSS布局之列表  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  在centOS 7安装mysql 5.7的详细教程  免费网站制作appp,免费制作app哪个平台好?  如何快速辨别茅台真假?关键步骤解析  简单实现Android文件上传  JavaScript如何实现继承_有哪些常用方法  如何快速配置高效服务器建站软件?