赞0

开发Android应用中,我们常常需要设备的唯一码来确定客户端。

Android 中的几中方法,使用中常常不可靠

1. DEVICE_ID

假设我们确实需要用到真实设备的标识,可能就需要用到DEVICE_ID。通过 TelephonyManager.getDeviceId()获取,它根据不同的手机设备返回IMEI,MEID或者ESN码.

缺点:在少数的一些设备上,该实现有漏洞,会返回垃圾数据

2. MAC ADDRESS

我们也可以通过Wifi获取MAC ADDRESS作为DEVICE ID

缺点:如果Wifi关闭的时候,硬件设备可能无法返回MAC ADDRESS.。

3. Serial Number

android.os.Build.SERIAL直接读取

缺点:在少数的一些设备上,会返回垃圾数据

4. ANDROID_ID

ANDROID_ID是设备第一次启动时产生和存储的64bit的一个数,

缺点:当设备被wipe后该数改变, 不适用。

android 底层是 Linux,我们还是用Linux的方法来获取:

1 cpu号:

文件在: /proc/cpuinfo

通过Adb shell 查看:

adb shell cat /proc/cpuinfo

2 mac 地址

文件路径 /sys/class/net/wlan0/address

adb shell  cat /sys/class/net/wlan0/address

xx:xx:xx:xx:xx:aa

这样可以获取两者的序列号,

方法确定,剩下的就是写代码了

以Mac地址为例:

String getMac() {

String macSerial = null;

String str = "";

try {

Process pp = Runtime.getRuntime().exec(

"cat /sys/class/net/wlan0/address ");

InputStreamReader ir = new InputStreamReader(pp.getInputStream());

LineNumberReader input = new LineNumberReader(ir);

for (; null != str;) {

str = input.readLine();

if (str != null) {

macSerial = str.trim();// 去空格

break;

}

}

} catch (IOException ex) {

// 赋予默认值

ex.printStackTrace();

}

return macSerial;

}

android动态mac地址,android 设备唯一码的获取,Cpu号,Mac地址相关推荐

  1. Android设备唯一码的获取

    Android设备唯一码的获取 UTDID是集团无线设备统一ID方案,目的是给每一台设备一个ID,作为唯一标识.UTDID由客户端生成,并在设备中各个客户端之间共享.UTDID的生成中包含时间戳和随机 ...

  2. android设备唯一码的获取之二

    2019独角兽企业重金招聘Python工程师标准>>> 此篇文章对比android设备唯一码的获取之一看比较好,地址 http://blog.csdn.net/fastthinkin ...

  3. android p随机mac,android设备唯一码的获取,cpu号,mac地址

    抄自http://blog.csdn.net/hpccn/article/details/7872141 开发Android应用中,我们常常需要设备的唯一码来确定客户端. Android 中的几中方法 ...

  4. android设备唯一码的获取之一手机串号IMEI和网络识别号imsi等

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

  5. ios imei android,获取手机(ios,android)的设备唯一码(mac地址, IMEI)

    获取手机(ios,android)的设备唯一码(mac地址, IMEI) app中总会用到客户端下载量数据统计,一般都是用的设备的唯一码作为标示,以下是获取mac地址的代码片段,记录备份. andro ...

  6. 稳定获取Android设备唯一码(UUID)的解决方案

    最近做的一个项目中需要用到Android设备唯一码(UUID)来标识一台设备, Android中设备唯一码有很多,如:MAC地址.IMEI号(DeviceId).IMSI号.ANDROID_ID.序列 ...

  7. android : 更新android 11 后 获取设备唯一码的方式

    android 11 发布了 android 11 以前使用的MAC的设备唯一码的方式被废弃了,因为11不让用了,然后就去官方上找推荐了; 之前的获取MAC的地址,有兴趣的可以点进去看看 官方推荐使用 ...

  8. python设置本机IP地址、子网掩码、DNS,获取本机IP地址、子网掩码、DNS、MAC

    python设置本机IP地址.子网掩码.DNS,获取本机IP地址.子网掩码.DNS.MAC main.py """=== coding: UTF8 ==="&q ...

  9. Dart/Flutter地址智能识别源码,类似顺丰填写地址的智能识别,识别率95%+

    smartParseAddress Dart/Flutter地址智能识别源码,类似顺丰填写地址的智能识别,识别率95%+ 站在巨人肩膀上,前排感谢:GitHub@wzc570738205 实际就是将地 ...

最新文章

  1. hive sql循环_hive存储过程
  2. PID控制器开发笔记之八:带死区的PID控制器的实现
  3. BBcode 相关资源索引
  4. MongoDB 复制集和分片的理解
  5. PyTorch的学习笔记
  6. T-SQL语言(二)
  7. 人生的第一个js插件
  8. App、小程序、H5的区别
  9. Wet-Ra: Monitoring Diapers Wetness with Wireless Signals
  10. unity 报错 Some objects were not cleaned up when closing the scene. 原因与方案
  11. Pytorch实战__反向攻击(Adversarial Attack)
  12. C语言编程>第六周 ⑥ 输入一串字符,统计大大写字母的个数,并强调统计必须用函数。
  13. “数说故事——香港城市大学AI联合实验室”筹备会议今日召开
  14. ie6浏览器下border边框线出现断裂问题解决方法
  15. 什么是计算机嵌套分类汇总,excel2010嵌套分类汇总的教程
  16. 【毕业设计】基于微信小程序的购物商城系统 开题报告
  17. 骨牌铺方格java_[ACM_HDU_2046]骨牌铺方格 | 学步园
  18. ap导入 ebs oracle_Oracle EBS AP发票接口导入
  19. iphone忘记访问控制密码之后如何找回
  20. 重磅!产品经理薪资报告2021.PDF

热门文章

  1. 首次用jwt做token
  2. 离散数学复习:二元关系
  3. 我为什么要立刻放弃React而使用Vue?
  4. 程序员课外拓展001:EI收录号Accession number中的数字的含义
  5. 记录:如何解决Ubuntu20.04无法联网问题【亲测有效】
  6. 佛祖保佑永无Bug—— 最好用的注释插件
  7. 用SpringBoot整合ES数据库基础
  8. Android使用SurfaceView开发《捉小猪》小游戏 (一)
  9. 【网络相关】curl可以访问浏览器打不开,无法访问此网站,ERR_UNSAFE_PORT。10080端口
  10. 夏季养生:夏季养生必备五种中药材