导航:首页 > 操作系统 > androidimei是什么

androidimei是什么

发布时间:2022-12-07 12:29:36

android imei获取

随着android系统不断升级,android设备的imei号已经越来越难获取了。网上一些推荐会用meid、androidid来代替imei号。但是因为项目推广需要比对渠道那边回传imei号来确认新增。
发现部分机型渠道(eg:快手)可以获取到而我们获取不到,导致无法确认新增。最终在TelephonyManager中找到getDeviceSoftwareVersion()方法。可以变相实现获取imei号(但也会有getDeviceSoftwareVersion获取不到的机型,不过验证渠道那边也获取不到了)。

public static String getIMEI() {
TelephonyManager telephonyManager = (TelephonyManager) BaseApplication.getAppContext().getSystemService(Context.TELEPHONY_SERVICE);
String imei = null;
if (AndPermission.hasPermissions(BaseApplication.getAppContext(), Manifest.permission.READ_PHONE_STATE)) {
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
imei = telephonyManager.getImei();
if (!TextUtils.isEmpty(imei)) {
return imei;
} else {
String softwareVersion = getDeviceSoftwareVersion();
if (!TextUtils.isEmpty(softwareVersion) && softwareVersion.length() > 14) {
String imeiHead = softwareVersion.substring(0, 14);
imei = imeiHead + luhn(imeiHead);
return imei;
} else {
return null;
}
}
} else {
return telephonyManager.getDeviceId();
}
} catch (Exception e) {
e.printStackTrace();
}
}
return imei;
}

/**
* Luhn算法
* 根据号码获取校验位
*
* @param cardNumber
* @return
*/
public static int luhn(String cardNumber) {
int totalNumber = 0;
for (int i = cardNumber.length() - 1; i >= 0; i -= 2) {
int tmpNumber = calculate(Integer.parseInt(String.valueOf(cardNumber.charAt(i))) * 2);
if (i == 0) {
totalNumber += tmpNumber;
} else {
totalNumber += tmpNumber + Integer.parseInt(String.valueOf(cardNumber.charAt(i - 1)));
}

其实是因为getDeviceSoftwareVersion和getImei()拼接规则只有末位两个数不相同,而imei的末位数可以通过luhn算法获取,从而拼接成imei值(自测有效)。

但是毕竟还是有部分机型获取不到imei,可以使用oaid来补充说明。

如果是自己app内部做唯一标识的话可以用meid、androidid或deviceid来代替imei
public static String getUniqueId() {
TelephonyManager telephonyManager = (TelephonyManager) BaseApplication.getAppContext().getSystemService(Context.TELEPHONY_SERVICE);
if (AndPermission.hasPermissions(BaseApplication.getAppContext(), Manifest.permission.READ_PHONE_STATE)) {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {

Ⅱ 如何获取android设备的imei号

获取android设备的imei号可以打开拨号盘,输入*#06#即可查看IMEI号。
国际移动设备识别码(IMEI:International Mobile Equipment Identification Number)是区别移动设备的标志,储存在移动设备中,可用于监控被窃或无效的移动设备。IMEI可用移动终端设备通过键入"*#06#"查得(不同厂商的手机所需输入的内容不同,同一厂商不同手机所需输入的内容也可能不同)。其总长为15位,每位数字仅使用0~9的数字(含义见下文)。
IMEI俗称"串号",存储在手机的EEPROM(俗称"码片")里,熟悉并了解这个号码对我们今后识别手机会起到非常大的作用。

Ⅲ 安卓手机怎么查看IMEI号

IMEI码是移动设备国际身份码的缩写,由15位数字组成。每部正规的手机至少会有一个IMEI码(双卡手机有两个IMEI码),SN码和IMEI码可以注册论坛VIP、查询手机真伪等。
温馨提示:IMEI码不可以修改或注销。
vivo手机IMEI码查询方法:
1、打开拨号盘,在拨号界面输入 *#06# 即可;
2、①Funtouch OS 9.2/iQOO Monster UI及以上:进入手机设置--我的设备--更多参数中,可查询到;
②Funtouch OS 9.2以下:进入设置--更多设置--关于手机中查询;
3、手机包装盒上会有一张标注手机信息的的贴纸,在上面查看到IMEI码;
4、手机包装盒中的“重要信息与保修卡”册子,贴有手机的IMEI码。

Ⅳ 安卓IMEI是一个什么文件类型

IMEI(International
Mobile
Equipment
Identity)是移动设备国际身份码的缩写,移动设备国际辨识码,是由15位数字组成的"电子串号",它与每台手机一一对应,而且该码是全世界唯一的。每一部手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。手机用户可以在手机中查到自己手机的IMEI码。
可见,IMEI并不是什么文件类型。

Ⅳ 为什么很多安卓应用都要获取IMEI

IMEI是一个串号,每个手机出厂都有的。
IMSI确实可以用来识别每一个移动用户,但是IMSI很长,很难记忆,另外,传统电话号码都用0-9的数字来表示,有个用户习惯问题。所以就规定了ISDN号码,即我们现在用的手机号码,通过设定和IMSI号码绑定来识别用户。
ISDN号码完全是规定,因为香港的移动号码和固话是相同的。原来cdma制式的大灵通也采用的是固定电话的编号方式。
其实那都是软件开发者的统计需要,装个看书软件也啥都要查看联系人,查看短信,后台发短信,后台打电话,查看地里位置,有不要嘛?当然没有,但是他可以调查我们的爱好,然后后台给我们推软件,当然会跑流量也存在偷窥我们隐私功能,你可以用联想的乐安全和LBE安全大师这俩安全软件可以禁止一切后台启动和限制查看我们的隐私。预防流量丢失和后台开启我们的录音,电话,短信,摄像头功能等。
回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢

Ⅵ 安卓IMEI存储在哪里如何修改

IMEI俗称“手机串号”,存储在手机的EEPROM(俗称“码片”)里。用手机键盘输入*#06#,屏幕上显示的IMEI。目前除了厂家用专用设备,无法修改。
参考资料:
IMEI(International Mobile Equipment Identity)是移动设备国际身份码的缩写,IMEI由15位数字组成。
IMEI是区别移动设备的标识,储存在移动设备中,可用于监控被窃或无效的移动设备。IMEI印在手机机身背面的标志上,如图1所示;并且读写存储在手机内存中。它也是该手机在厂家的“档案”和“身份证号”。
购买手机时,可以检查以下几处的IMEI是否一致:
手机机身上的IMEI
包装盒上的IMEI
保修卡上的IMEI
用手机键盘输入*#06#,屏幕上显示的IMEI。不同厂商的手机所需输入的内容不同,同一厂商不同手机所需输入的内容也可能不同。
IMEI俗称“手机串号”,存储在手机的EEPROM(俗称“码片”)里,熟悉并了解这个号码对我们今后识别手机会起到非常大的作用。

Ⅶ 为什么很多安卓应用都要获取IMEI

IMEI(International Mobile Equipment Identity,移动设备国际识别码,又称为国际移动设备标识)是手机的唯一识别号码。我们从这个缩写的全称中来分析它的含义:
“移动设备”就是手机,不包括便携式电脑。
“国际”这个字眼也表明了它可辨识的范围是全球,即全球范围内IMEI不会重复。
“身份”表明了它的作用,是辨识不同的手机;一机一号,类似于人的身份证号。
“码”字又说明它是一串编号,常称为手机的“串号”、“电子串号”。
手机在生产时,就被赋予一个IMEI。作为App用户的唯一ID,IMEI是个很好的因素。所以基本上所有需要网络服务的Apps都会需要读取IMEI来区分用户,而且是每次通信都需要读取。
像天猫(支付宝)/微信这样的登陆时校验一下设备串号是有意义的,这是用来确保是由你的设备在登陆。

Ⅷ android imei是唯一的吗

android手机只有IMEI是硬件唯一标识,其它标识都是不可靠的,因为IMEI需要到国际移动设备登记处登录注册的。 java获得android的imei号步骤: 1、权限添加: <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 2、调用android的api TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); String IMEI = telephonyManager.getDeviceId(); 3、adb命令获得: adb shell mpsys iphonesubinfo 4、任何手机都可以在拨打电话的界面输入*#06# 来查看IMEI。

阅读全文

与androidimei是什么相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:736
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163