打开拨号界面输入#06# 手机会自动反馈给你这台设备的唯一ID
•IMEI(国际移动设备识别码)唯一编号,用于识别 GSM,WCDMA手机以及一些卫星电话(移动设备识别码)全球唯一编号,用于识别CDMA移动电台设备的物理硬件,MEID出现的目的是取代ESN号段(电子序列号)(电子序列号)唯一编号,用于识别CDMA手机(国际移动用户识别码)与所有GSM和UMTS网络手机用户相关联的唯一识别编号如需要检索设备的ID
DEVICE_ID
这是Android系统为开发者提供的用于标识手机设备的串号,也是各种方法中普适性较高的,可以说几乎所有的设备都可以返回这个串号,并且唯一性良好。
这个DEVICE_ID可以同通过下面的方法获取:
TelephonyManager tm = (TelephonyManager)getSystemService(ContextTELEPHONY_SERVICE); String DEVICE_ID = tmgetDeviceId();
它会根据不同的手机设备返回IMEI,MEID或者ESN码,但在使用的过程中有以下问题:
非手机设备:最开始搭载Android系统都手机设备,而现在也出现了非手机设备:如平板电脑、电子书、电视、音乐播放器等。这些设备没有通话的硬件功能,系统中也就没有TELEPHONY_SERVICE,自然也就无法通过上面的方法获得DEVICE_ID。
权限问题:获取DEVICE_ID需要READ_PHONE_STATE权限,如果只是为了获取DEVICE_ID而没有用到其他的通话功能,申请这个权限一来大才小用,二来部分用户会怀疑软件的安全性。
厂商定制系统中的Bug:少数手机设备上,由于该实现有漏洞,会返回垃圾,如:zeros或者asterisks
MAC ADDRESS
可以使用手机Wifi或蓝牙的MAC地址作为设备标识,但是并不推荐这么做,原因有以下两点:
硬件限制:并不是所有的设备都有Wifi和蓝牙硬件,硬件不存在自然也就得不到这一信息。
获取的限制:如果Wifi没有打开过,是无法获取其Mac地址的;而蓝牙是只有在打开的时候才能获取到其Mac地址。
获取Wifi Mac地址:
获取蓝牙 Mac地址:
Sim Serial Number
装有SIM卡的设备,可以通过下面的方法获取到Sim Serial Number:
TelephonyManager tm = (TelephonyManager)getSystemService(ContextTELEPHONY_SERVICE); String SimSerialNumber = tmgetSimSerialNumber();
注意:对于CDMA设备,返回的是一个空值!
ANDROID_ID
在设备首次启动时,系统会随机生成一个64位的数字,并把这个数字以16进制字符串的形式保存下来,这个16进制的字符串就是ANDROID_ID,当设备被wipe后该值会被重置。可以通过下面的方法获取:
import androidproviderSettings; String ANDROID_ID = SettingsSystemgetString(getContentResolver(), SettingsSystemANDROID_ID);
ANDROID_ID可以作为设备标识,但需要注意:
厂商定制系统的Bug:不同的设备可能会产生相同的ANDROID_ID:9774d56d682e549c。
厂商定制系统的Bug:有些设备返回的值为null。
设备差异:对于CDMA设备,ANDROID_ID和TelephonyManagergetDeviceId() 返回相同的值。
Serial Number
Android系统23版本以上可以通过下面的方法得到Serial Number,且非手机设备也可以通过该接口获取。
String SerialNumber = androidosBuildSERIAL;
当手机使用者(即User)下载你(即开发者)的应用程序,在安装(Install)时,Android就会给予一个UID。
在Packagelist(放在/data/system)中存放着系统各个程序的user id。你可以这样获取:
PackageManager pm = getPackageManager();
ApplicationInfo ai = pmgetApplicationInfo("comgesoftbitlavendercloud", PackageManagerGET_ACTIVITIES);
Logd("!!", "!!" + aiuid);
这个uid和Linux下的uid含义可不同哦。
Android一直是单用户 *** 作系统,在Android 42中才加入了多用户支持。
Android设备不同类型的识别设备ID。·唯一编号(IMEI,MEID,ESN,IMSI)·MAC地址·序列号·ANDROID_ID唯一编号(IMEI,MEID,ESN,IMSI)说明在以前,当Android设备均作为电话使用时,寻找唯一标识号比较简单:()可用于找到(取决于网络技术)手机硬件唯一的IMEI,MEID,ESN和IMSI编号。TelephonyManagergetDeviceIdIMEI,MEID,ESN,IMSI的定义如下:•IMEI(国际移动设备识别码)唯一编号,用于识别GSM,WCDMA手机以及一些卫星电话(移动设备识别码)全球唯一编号,用于识别CDMA移动电台设备的物理硬件,MEID出现的目的是取代ESN号段(电子序列号)(电子序列号)唯一编号,用于识别CDMA手机(国际移动用户识别码)与所有GSM和UMTS网络手机用户相关联的唯一识别编号如需要检索设备的ID,在项目中要使用以下代码:•MEID•ESN•IMSIimportandroidtelephonyTelephonyManager;importandroidcontentContext;Stringimeistring=null;Stringimsistring=null;{TelephonyManagertelephonyManager;telephonyManager=(TelephonyManager)getSystemService(ContextTELEPHONY_SERVICE);/getDeviceId()functionReturnstheuniquedeviceIDforexample,theIMEIforGSMandtheMEIDorESNforCDMAphones/imeistring=telephonyManagergetDeviceId();/getSubscriberId()functionReturnstheuniquesubscriberID,forexample,theIMSIforaGSMphone/imsistring=telephonyManagergetSubscriberId();}
1手机进入应用程序--开发--打开USB调试。
2下载线刷rom包。
3下载刷机工具包odin后解压。
4关机,然后同时按住下音量下键 + HOME键 + 电源键,等待3秒,出现英文界面。
按音量上键,进入界面为绿色机器人,此为刷机模式。
5打开odin刷机工具,识别成功在ID:COM处显示**,选择对应的刷机包文件。
6选择start(开始)。
7电脑端软件左上角出现绿色进度条为刷机中。
8出现PASS即表示刷机完成。
9手机关机,同时按住(音量上键+HOME键+电源键)5秒左右手机进入3E模式。
10按电源键开机,刷机完成。
以上就是关于如何检索Android设备的唯一ID全部的内容,包括:如何检索Android设备的唯一ID、如何获取android设备唯一识别码、安卓开发中如何获取userId等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)