Android 唯一标识获取

1  Android唯一表示有哪些?

Device_id、Mac Address、Serial Number、Android_id、CPU序列号、物理Mac地址

2  有哪些优缺点,及获取方式

Device_id

优点:真是设备标识,根据不同的手机设备返回IMEI,MEID或者ESN码。

缺点:在非手持设备上没有此标识;在少数的一些设备上,该实现有漏洞,会返回垃圾数据

Mac Address

优点:返回wifi_mac_address或者bluetooth_mac_address

缺点:如果wifi或者bluetooth关闭,可能无法返回mac_address

Serial Number

优点:非手持设备也有此标识

缺点:2.3版本上可用

Android_id

优点:设备第一次启动时产生和存储的64bit数据

缺点:当设备被wipe后该数改变, 多个设备可能有相同的Android_id

CPU序列号

优点:

缺点:有的系统下不能获取CPU序列号,结果都是"0000000000000000"

存储位置: /proc/cpuinfo

命令查看:adb shell cat /proc/cpuinfo

物理Mac地址

优点:

缺点:

存储位置:文件路径 /sys/class/net/wlan0/address

命令查看:adb shell  cat /sys/class/net/wlan0/address

时间: 2025-01-09 14:29:56

Android 唯一标识获取的相关文章

20150919_获取Android唯一标识码

背景 前段时间给一家电力公司做了一个管理系统,用来调查公司客户的购买电力公司培训课程的意愿,并且提供下单订购的功能. 因为电力公司要求在Android平板电脑上运行,所以是针对7英寸的Android平板电脑的开发:苦于没有合适的设备调试,所以我一直在自己的Android手机上进行测试,一直到项目提交之前的那一天晚上... 客户反馈说提交订单后系统停止运行,导入数据到PC服务端后服务端也崩溃了! 刚开始怀疑是因为他们的设备太差的缘故——我在配置相当low的Android原生虚拟机(有多low大家应

如何获取Android唯一标识(唯一序列号)

有很多场景和需求你需要用到手机设备的唯一标识符. 在Android中,有以下几种方法获取这样的ID. 1. The IMEI: 仅仅只对Android手机有效: 1 2 TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE); String szImei = TelephonyMgr.getDeviceId(); 采用此种方法,需要在AndroidManifest.xml中加入一个

ios设备唯一标识获取策略

英文原文:In iOS 7 and later, if you ask for the MAC address of an iOS device, the system returns the value 02:00:00:00:00:00. If you need to identify the device, use the identifierForVendor property of UIDevice instead. (Apps that need an identifier for

Android应用怎么实现免注册,直接获取手机唯一标识进行登录

============问题描述============ 如题 就是我设计的app登录的时候是直接登录而不需要注册,看到网上说是通过获取Android 手机上物理唯一标识码,见到的都是说通过cpu号和 mac 地址. 想问一下是怎么获取的 能有代码是最好的 ============解决方案1============ 都知道网上查了,为什么不会顺便查下代码呢? http://cache.baiducontent.com/c?m=9d78d513d9901df918b0cf281a16a6375b1

获取Android设备唯一标识码

概述 有时需要对用户设备进行标识,所以希望能够得到一个稳定可靠并且唯一的识别码.虽然Android系统中提供了这样设备识别码,但是由于Android系统版本.厂商定制系统中的Bug等限制,稳定性和唯一性并不理想.而通过其他硬件信息标识也因为系统版本.手机硬件等限制存在不同程度的问题. 下面收集了一些“有能力”或“有一定能力”作为设备标识的串码. DEVICE_ID 这是Android系统为开发者提供的用于标识手机设备的串号,也是各种方法中普适性较高的,可以说几乎所有的设备都可以返回这个串号,并且

Android手机上获取物理唯一标识码

最近在做项目的过程中需要唯一标识用户的设备,后台在做push notification的时候需要用到这个唯一的标识号. 首先我会想到的是设备的device id,毫无疑问可以唯一标识设备,第一个版本也正是这样做的.国庆期间用户的一封邮件让哥很不淡定,因为需要拿到device id,所以必然要在AndroidManifest文件中添加权限 <uses-permission android:name="android.permission.READ_PHONE_STATE" />

Android下获取设备唯一标识(UDID, DeviceID...)

android下获取设备唯一标识原本非常简单(至少不会像iOS一样禁用这个,禁用那个),但是由于设备的多样性需要考虑的东西也对应复杂起来. 先附上完整代码 [java] view plaincopy protected static final String PREFS_FILE = "gank_device_id.xml"; protected static final String PREFS_DEVICE_ID = "gank_device_id"; prot

Android 手机上获取物理唯一标识码

唯一标识码这东西在网络应用中非常有用,例如检测是否重复注册之类的. import android.provider.Settings.Secure;private String android_id = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID); 我们在项目过程中或多或少会使用到设备的唯一识别码,我们希望能够得到一个稳定.可靠的设备唯一识别码.今天我们将介绍几种方式. 1. DEVICE_ID 假

Android开发 - 获取Android设备的唯一标识码(Android 6.0或更高)

在我们的APP开发中,通常需要获取到设备的唯一标识.在Android6.0之前,有很多方法我们可以方便获取到硬件的唯一标识,但是在Android6.0之后,Android系统大幅限制了我们获取设备的硬件信息. Android6.0之前的方法(已过时) DEVICE_ID通getSystemService(Context.TELEPHONY_SERVICE).getDeviceId()获取,但是6.0之后必须申请READ_PHONE_STATE,并且获取到的这个值在不同的厂商和设备中并不可靠. M