如何获取一个能唯一标识每台Android设备的序号?
这个问题有很多答案,但是他们中的大部分只在某些情况下有效。
根据测试:
  • 所有的设备都可以返回一个 TelephonyManager.getDeviceId()
  • 所有的GSM设备 (测试设备都装载有SIM卡) 可以返回一个TelephonyManager.getSimSerialNumber()
  • 所有的CDMA 设备对于 getSimSerialNumber() 却返回一个空值!
  • 所有添加有谷歌账户的设备可以返回一个 ANDROID_ID
  • 所有的CDMA设备对于 ANDROID_ID 和 TelephonyManager.getDeviceId() 返回相同的值(只要在设置时添加了谷歌账户)
  • 目前尚未测试的:没有SIM卡的GSM设备、没有添加谷歌账户的GSM设备、处于飞行模式的设备。
所以如果你想得到设备的唯一序号, TelephonyManager.getDeviceId() 就足够了。但很明显暴露了DeviceID会使一些用户不满,所以最好把这些id加密了。实际上加密后的序号仍然可以唯一的识别该设备,并且不会明显的暴露用户的特定设备,例如,使用 String.hashCode() ,结合UUID:

?

1
2
3
4
5
6
7
8
9
final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);

final String tmDevice, tmSerial, tmPhone, androidId;
    tmDevice = "" + tm.getDeviceId();
    tmSerial = "" + tm.getSimSerialNumber();
    androidId = "" + android.provider.Settings.Secure.getString(getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);

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

获取Android设备的唯一识别码|设备号|序号|UUI相关推荐

  1. Unity实现在Android端获取Android手机的唯一ID(设备号)(亲测Android11可用)

    Unity实现在Android端获取Android手机的唯一ID(设备号)(亲测Android11可用) 备注:测试版本Unity2020,理论上Unity2018以上都可用,未做测试 - 文章初衷 ...

  2. js获取唯一设备码_HTML5+下用js获取设备的唯一识别码和本地数据库的操作

    HTML5+下用js获取设备的唯一识别码和本地数据库的操作 发布时间:2018-04-24 12:01, 浏览次数:1111 , 标签: HTML js 首先获取设备的唯一标识,由于ios审核的阻挡, ...

  3. Qt获取计算机硬件信息(主板唯一识别码)

    Windows下获取CPU.主板.硬盘等电脑相关硬件的办法很多,可以直接调用Windows API的方式实现,不过代码都很复杂,不容易理解.这里使用一种很简便的方式来查询我们需要的信息,先了解一个东西 ...

  4. Android获取设备的唯一识别码|设备号|序号|UUID

    如何获取一个能唯一标识每台Android设备的序号? 这个问题有很多答案,但是他们中的大部分只在某些情况下有效. 根据测试: 所有的设备都可以返回一个 TelephonyManager.getDevi ...

  5. Android之如何获取Android设备的唯一识别码笔记

    因为需要在项目中需要获得一个稳定.可靠的设备唯一识别码,因此搜了一些网上的资料.今天我们将介绍几种方式. 1. DEVICE_ID 假设我们确实需要用到真实设备的标识,可能就需要用到DEVICE_ID ...

  6. HTML5+下用js获取设备的唯一识别码和本地数据库的操作

    首先获取设备的唯一标识,由于ios审核的阻挡,我现在只是获取它idfa来作为唯一识别码(这个会被重置,如果idfa不重要的话是可以考虑此方法的),Android就不用多说了 if(ua.match(/ ...

  7. 获取Android设备的唯一识别码|设备号|序号|UUID

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/50511283 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...

  8. 查看 android 设备号,获取Android设备的唯一识别码|设备号|序号|UUID

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/50511283 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...

  9. 获取android设备唯一编号_如何获取Android设备唯一标识码教程

    ID的全称是(Virtual identity electronic identification),中文名为通用账户,是俗称的网络身份证.它是一种互联网身份认证协议,其具有唯一性和信息不可否认性.I ...

最新文章

  1. 程序员的幸福:上个月被裁拿赔偿,这个月找到涨薪50%的工作
  2. 程序 算法与数据结构
  3. 【高级Java架构师系统学习】java如何开发安卓软件
  4. 解决:libtool: line 815: X--tag=CXX: command not found
  5. Xen server三 为xen添加存储及创建虚拟机
  6. (一)Web Service——基本概念
  7. Spring启动和缓存抽象
  8. 非常不错的一款html5【404页面】,不含js脚本可以左右摆动,原生JavaScript实现日历功能代码实例(无引用Jq)...
  9. Entity Framework 6 Recipes 2nd Edition(13-6)译 - 自动编译的LINQ查询
  10. 谷歌开源 Pigweed,用于提升嵌入式开发效率
  11. 关于sql安装,升级,卸载时需要重启的解决方法
  12. 方便使用FFMPEG的经验
  13. 安全运维 - Windows系统应急响应
  14. Jvisualvm监控远程SpringBoot项目
  15. VMware Horizon环境中的防病毒注意事项
  16. PPT 无法播放媒体/视频媒体不可用怎么解决
  17. uni-app数据缓存
  18. Shannon-Fano编码——原理与实现
  19. 如何用两台虚拟机搭建LAMP架构访问qq农场
  20. 公主连结显示服务器内部错误,公主连结进不去怎么办 进不去解决办法

热门文章

  1. android更改app背景颜色,使用AppCompat更改操作栏的背景颜色
  2. lumen model orm
  3. Android原生图表库调研
  4. CLCL - 不错的剪贴板增强工具
  5. mysql在手游中的作用_手游业务MySQL数据库虚拟化漫谈 | By 肖力
  6. LightGBM模型简单预测股票涨跌情况
  7. c语言结构体求分数和,C语言 定义一个表示分数的结构体,并求两个分数相加之和...
  8. 试题 算法训练 盾神与离散老师2
  9. pyhton分类时画混淆矩阵
  10. SVM简单非线性分类,画出分类面与支持向量(MATLAB)