① 如何获取android设备id
Android设备不同类型的识别设备ID。
· 唯一编号(IMEI,,ESN,IMSI)
· MAC地址
· 序列号
· ANDROID_ID
唯一编号(IMEI,MEID,ESN,IMSI)
说明在以前,当Android设备均作为电话使用时,寻找唯一标识号比较简单:()可用于找到(取决于网络技术)手机硬件唯一的IMEI,MEID,ESN和IMSI编号。
TelephonyManager.getDeviceId
IMEI,MEID,ESN,IMSI的定义如下:
•IMEI(国际移动设备识别码)唯一编号,用于识别 GSM,WCDMA手机以及一些卫星电话(移动设备识别码)全球唯一编号,用于识别CDMA移动电台设备的物理硬件,MEID出现的目的是取代ESN号段(电子序列号)(电子序列号)唯一编号,用于识别CDMA手机(国际移动用户识别码)与所有GSM和UMTS网络手机用户相关联的唯一识别编号如需要检索设备的ID,在项目中要使用以下代码:
•MEID
•ESN
•IMSI
import android.telephony.TelephonyManager;
import android.content.Context;
String imeistring = null;
String imsistring = null;
{
TelephonyManager telephonyManager;
telephonyManager =
( TelephonyManager )getSystemService( Context.TELEPHONY_SERVICE );
/*
* getDeviceId() function Returns the unique device ID.
* for example,the IMEI for GSM and the MEID or ESN for CDMA phones.
*/
imeistring = telephonyManager.getDeviceId();
/*
* getSubscriberId() function Returns the unique subscriber ID,
* for example, the IMSI for a GSM phone.
*/
imsistring = telephonyManager.getSubscriberId();
}
② 如何获取 android device id
因为在工作中要统计一些用户的数据,以及爱好等等..所以就要统计不同用户!所以刚开始用device id 如下:/**
Java代码
* 获取机器唯一标识
* @param _context
* @return
*/
public String getLocaldeviceId(Context _context){
TelephonyManager tm = (TelephonyManager) _context
.getSystemService(Context.TELEPHONY_SERVICE);
String deviceId = tm.getDeviceId();
if (deviceId == null
|| deviceId.trim().length() == 0) {
deviceId = String.valueOf(System
.currentTimeMillis());
}
return deviceId ;
}
我理解为类似手机的出厂标号,但是有很多的是无法获取到device id的!所以,就要获取mac地址
mac地址很好理解,就是用户上网的上网许可证,这个买手机的时候,你翻开电池就知道里面有一个标签!
下面是获取mac地址的代码
Java代码
/**
* 获取mac地址
* @param context
* @return
*/
public String getLocalMacAddress(Context context) {
WifiManager wifi = (WifiManager) context.getSystemService(
Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
return info.getMacAddress();
}
③ 如何获取 iOS 设备的唯一 ID
凡是接触过iOS的开发者都清楚每一台iOS设备都有一个唯一的识别号:UDID,这个40位的字专符串是你的设属备区别于其他任何一台设备的唯一标识。
这个字符串用处非常大,可以把它作为用户的唯一ID,跳过用户登陆这一步,直接有效并且安全地与数据库中的用户记录进行绑定。
虽然UDID本身并不含有任何用户信息,但是由于应用开发者可以将UDID与服务器上用户信息进行绑定,从而带来了诸多隐私泄漏等问题,所以苹果最终还是拒绝开发者访问UDID的官方接口,建议开发者使用CFUUID来代替UDID。CFUUID有很多问题,如果从一台设备将系统备份到另一个设备,两个设备就会拥有相同的CFUUID,如果从临时文件中备份系统,就会出现一个设备中出现不同的CFUUID,但是尽管如此,CFUUID还是所有UDID替代品中最靠谱的一个。
除此之外,一些第三方开发者也基于CFUUID包装了对用户更友好的类,OpenUDID是开发者使用的比较广泛的一个。
④ 怎么查询手机设备ID
方法是;以荣耀手机操作为例:
1、首先下拉手机桌面出快捷工具栏;版如图。
⑤ 如何在win7内查找设备ID
具体方法如下:
1、在桌面上的“计算机”图标上右键,选择“属性”;
2、在弹出的窗口中,单击左侧的“设备管理器”;
3、在设备管理器里找到并右键需要“读取硬件ID的设备”,选择“属性”;
4、在打开的属性窗口中,切换到“详细信息”标签页,选择“硬件ID”,就可对设备的硬件ID进行读取了。
⑥ 如何查看iphone6中的deviceid
deviceid即设备ID。可在苹果手机的设置中找到序列号、IME进行查看。
⑦ 如何通过web页获取手机设备ID
WEB这东西,本来就是跨平台的东西,对于不同平台就有不同的浏览器,不同厂家的浏览器又不太一样。尤其这种比较偏的底层接口。就拿开发Android的WEB浏览器常用的WebView,就本身N个版本,接口改了又改。你的网页还要跨平台,不管Android,还是WindowsPhone,还是……,适应于他们的变化有多复杂,自己要三思。
最后,我说我不知道常用的手机浏览器有没有这种接口,你生气不看
网页浏览器又不是你造的,你可以任意改。除非你做那种混合型的App来让用户浏览自己的网站,内嵌WebView,通过JS和App交互,获取你需要的IMEI等等信息。
补充:竟然没人看到真正的答案。单纯Web页面是无法获取IMEI,除非W3C修订JavaScript标准,增加接口,并让浏览器厂商开始支持。目前想获取IMEI,必须是app和Web页面相结合方式。就如当前有个hbuilder开发工具,DCloud开发的。可以调用手机系统API,原理类似于Java反射技术。他们封装的比较好。可以直接通过js调用。当然最后发布的不是真正的纯Web页面,是一个app安装包。这里面的语法不是在任何浏览器都能运行的。但发布的安装包,内部封装好的浏览器是可以支持相应的js方法。
⑧ 怎么获取android设备id
(1)DEVICE_ID
Android系统为开发者提供的用于标识手机设备的串号
TelephoneManager tm=TelephoneManager.getSystemService(Context.TELEPHONE_SERVICE);
tm.getDeviceId();
缺陷:
(1)非手机设备
(2)权限问题
(2)ANDROID_ID
在设备首版次启动时,系统会权随机生成一个64位的数字,并把这个数字以16进制字符串的形式保存下来,这个16进制的字符串就是ANDROID_ID
String ANDROID_ID=Setting.System.getString(getContentResolver(),Setting.System.ANDROID_ID);
缺陷:
(1)厂商Bug:不同的设备可能会产生相同的ANDROID_ID
(2)厂商Bug:有些设备返回的值为null
(3)Serial Number
Android系统2.3版本以上可以通过下面的方法得到Serial Number,且非手机设备也可以通过该接口获取。
String serial=Andorid.os.Build.SERIAL;
⑨ 如何获得设备的deviceid
如图,DEV_之后那四个数字应该就是
⑩ 如何获取设备唯一标识
1. The IMEI: 仅仅只对Android手机有效:
TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String szImei = TelephonyMgr.getDeviceId(); // Requires READ_PHONE_STATE
采用此种方法,需要在AndroidManifest.xml中加入一个许可:android.permission.READ_PHONE_STATE,并且用户应当允许安装此应用。作为手机来讲,IMEI是唯一的,它应该类似于 359881030314356(除非你有一个没有量产的手机(水货)它可能有无效的IMEI,如:0000000000000)。
2. Pseudo-Unique ID, 这个在任何Android手机中都有效
有一些特殊的情况,一些如平板电脑的设置没有通话功能,或者你不愿加入READ_PHONE_STATE许可。而你仍然想获得唯一序列号之类的东西。这时你可以通过取出ROM版本、制造商、CPU型号、以及其他硬件信息来实现这一点。这样计算出来的ID不是唯一的(因为如果两个手机应用了同样的硬件以及Rom 镜像)。但应当明白的是,出现类似情况的可能性基本可以忽略。要实现这一点,你可以使用Build类:
String m_szDevIDShort = "35" + //we make this look like a valid IMEI
Build.BOARD.length()%10+ Build.BRAND.length()%10 + Build.CPU_ABI.length()%10 + Build.DEVICE.length()%10 + Build.DISPLAY.length()%10 + Build.HOST.length()%10 + Build.ID.length()%10 + Build.MANUFACTURER.length()%10 + Build.MODEL.length()%10 + Build.PRODUCT.length()%10 + Build.TAGS.length()%10 + Build.TYPE.length()%10 + Build.USER.length()%10 ; //13 digits
大多数的Build成员都是字符串形式的,我们只取他们的长度信息。我们取到13个数字,并在前面加上“35”。这样这个ID看起来就和15位IMEI一样了。