做应用时很多时候都得获取到每个设备的机器码

  1. Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID)

复制代码

或者

所有的设备都可以返回一个TelephonyManager.getDeviceId()
所有的GSM设备可以返回一个TelephonyManager.getSimSerialNumber()
所有的CDMA 设备对于 getSimSerialNumber() 却返回一个空值!
所有添加有谷歌账户的设备可以返回一个 ANDROID_ID
所有的CDMA设备对于 ANDROID_ID 和 TelephonyManager.getDeviceId() 返回相同的值(只要在设置时添加了谷歌账户)

正常情况下,你想得到设备的唯一序号, TelephonyManager.getDeviceId() 就足够了。
但会暴露DeviceID,最好把这些id加密。加密后的序号仍然可以唯一的识别该设备,
例如,使用 String.hashCode() ,结合UUID:

  1. final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
  2. final String tmDevice, tmSerial, tmPhone, androidId;
  3. tmDevice = "" + tm.getDeviceId();
  4. tmSerial = "" + tm.getSimSerialNumber();
  5. androidId = "" + android.provider.Settings.Secure.getString(getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
  6. UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() << 32) | tmSerial.hashCode());
  7. String uniqueId = deviceUuid.toString();

复制代码

最后的deviceID可能是这样的结果: 00000000-54b3-e7c7-0000-000046bffd97

Android 获取唯一机器码的代码相关推荐

  1. Android 获取 唯一GUID ,替换 IMEI (兼容 Android 10+获取IMEI问题)

    Android 获取 唯一UUID ,替换 IMEI (兼容 Android 10+获取IMEI问题) 背景 关于 保存GUID方案 第一种,SharedPreferemces存储 第二种,sqlit ...

  2. android 获取唯一Id,小小总结一下。仅供参考

    1.获取imei: 前言: 因传统的移动终端设备标识如国际移动设备识别码(IMEI)等已被部分国家认定为用户隐私的一部分, 并存在被篡改和冒用的风险,所以在Android 10及后续版本中非厂商系统应 ...

  3. Android 获取唯一Id

    git:GitHub - gzu-liyujiang/Android_CN_OAID: 安卓设备唯一标识解决方案,可完全替代移动安全联盟统一 SDK 闭源方案.包括国内手机厂商的开放匿名标识(OAID ...

  4. android 获取 imei号码

    转自:http://blog.csdn.net/gumanren/archive/2011/02/26/6209237.aspx android 获取 imei号码 核心代码: Imei = ((Te ...

  5. android 获取imei(国际移动设备身份码)号码详解及其应用场景

    IMEI简介: IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的"电子串号&qu ...

  6. android 获取定位坐标,在百度地图出现大偏移的处理办法

    问题现象: 通过android原生api获取到gps坐标,调用百度的地图api在手机上显示时,发现偏移距离超过1KM. android获取定位坐标的代码,网上很多不再粘贴. 问题分析: android ...

  7. 获取android型号代码,Android应用开发之Android获取手机品牌、手机型号、手机唯一序列号的代码教程...

    本文将带你了解Android应用开发Android获取手机品牌.手机型号.手机唯一序列号的代码教程,希望本文对大家学Android有所帮助. Android获取手机品牌.手机型号.手机唯一序列号的代码 ...

  8. 格式android id,android 获取APP的唯一标识applicationId的实例

    使用getIdentifier()方法可以方便的获各应用包下的指定资源ID. 方式一 int indentify = getResources().getIdentifier("com.te ...

  9. Android app 标签,android 获取APP的唯一标识applicationId的实例

    使用getIdentifier()方法可以方便的获各应用包下的指定资源ID. 方式一 int indentify = getResources().getIdentifier("com.te ...

最新文章

  1. BZOJ1315 : Ural1557Network Attack
  2. Confluence 6 文档主题合并问答
  3. 逃离美股!瑞信给出了11个理由
  4. 大数据 就业 缺口_大数据人才缺口大!乌兰察布从政策激励等方面吸引人才
  5. codeforces 617A-C语言解题报告
  6. python中的return和print的区别_python中return和print的区别(详细)
  7. 做训练营需要具备什么样必备条件?
  8. 解决IE8在vs2005下不能调试的问题.
  9. 事务处理笔记《一》ADO.NET级别的事务
  10. TOMCAT JNDI RESOUCE
  11. 蚂蚁金服技术专家:mPaaS是如何打造“最懂用户”的App的?
  12. 数电4_4——常见组合逻辑电路(3)数据选择器
  13. 2017 十款最佳iPhone渗透APP及工具
  14. 英文词根词典简化笔记
  15. 使用docx4j追尾合并多个docx文件为一个docx文件
  16. android mvvm
  17. 工程测量(道路、桥梁、隧道、地下管线、高速铁路)
  18. Gopher China 2021,未来可期
  19. 做ppt课件直播(课堂直播)使用云课堂直播软件的教程
  20. linux执行lsof命令_linux系统 lsof命令详解

热门文章

  1. inotifywait监听php,inotifywait 是一个可以实时监控文件变动的工具
  2. 文字阴影(HTML、CSS)
  3. 什么是数据库的三大范式?
  4. 实验2-4-3 求平方根序列前N项和 (C语言)
  5. 研华GPIO的功能实现代码
  6. html取消重复,减少重复的HTML代码
  7. es 仅返回单个字段 查询_ES性能优化实战,几十亿数据查询 3 秒返回!
  8. 从一列数中筛除尽可能少的数使得从左往右看,这些数是从小到大再从大到小的(网易)。...
  9. Python: 分数运算
  10. 如何使VNC和Linux tty7 显示同步效果