安卓手机出现无效的imei怎么解决?

安卓手机出现无效的imei怎么解决?,第1张

不会有任何问题的,IMEI是手机入网许可证编号(流水号)IMEI只要修改成中国大陆的就可以了!(这个说明你手机是水货哦!不是行货哦!)

它和手机的ISN是有区别的!(isn是为了有利于生产的一个编号)

  可以在手机设置中找到应用,点击权限管理,选择权限开启这个imei功能。

  安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发,Android操作系统最初由Andy Rubin开发,主要支持手机。

  Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机、智能手表等,全世界采用这款系统的设备数量已经达到10亿台。

  Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,它们分别是:阿童木(AndroidBeta),发条机器人(Android 10),后来由于涉及到版权问题,谷歌将其命名规则变更为用甜点作为它们系统版本的代号的命名方法。

随着android系统不断升级,android设备的imei号已经越来越难获取了。网上一些推荐会用meid、androidid来代替imei号。但是因为项目推广需要比对渠道那边回传imei号来确认新增。

发现部分机型渠道(eg:快手)可以获取到而我们获取不到,导致无法确认新增。最终在TelephonyManager中找到getDeviceSoftwareVersion()方法。可以变相实现获取imei号(但也会有getDeviceSoftwareVersion获取不到的机型,不过验证渠道那边也获取不到了)。

public static String getIMEI() {

TelephonyManager telephonyManager = (TelephonyManager) BaseApplicationgetAppContext()getSystemService(ContextTELEPHONY_SERVICE);

String imei = null;

if (AndPermissionhasPermissions(BaseApplicationgetAppContext(), ManifestpermissionREAD_PHONE_STATE)) {

try {

if (BuildVERSIONSDK_INT >= BuildVERSION_CODESO) {

imei = telephonyManagergetImei();

if (!TextUtilsisEmpty(imei)) {

return imei;

} else {

String softwareVersion = getDeviceSoftwareVersion();

if (!TextUtilsisEmpty(softwareVersion) && softwareVersionlength() > 14) {

String imeiHead = softwareVersionsubstring(0, 14);

imei = imeiHead + luhn(imeiHead);

return imei;

} else {

return null;

}

}

} else {

return telephonyManagergetDeviceId();

}

} catch (Exception e) {

eprintStackTrace();

}

}

return imei;

}

/

Luhn算法

根据号码获取校验位

@param cardNumber

@return

/

public static int luhn(String cardNumber) {

int totalNumber = 0;

for (int i = cardNumberlength() - 1; i >= 0; i -= 2) {

int tmpNumber = calculate(IntegerparseInt(StringvalueOf(cardNumbercharAt(i))) 2);

if (i == 0) {

totalNumber += tmpNumber;

} else {

totalNumber += tmpNumber + IntegerparseInt(StringvalueOf(cardNumbercharAt(i - 1)));

}

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

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

如果是自己app内部做唯一标识的话可以用meid、androidid或deviceid来代替imei

public static String getUniqueId() {

TelephonyManager telephonyManager = (TelephonyManager) BaseApplicationgetAppContext()getSystemService(ContextTELEPHONY_SERVICE);

if (AndPermissionhasPermissions(BaseApplicationgetAppContext(), ManifestpermissionREAD_PHONE_STATE)) {

if (androidosBuildVERSIONSDK_INT >= BuildVERSION_CODESP) {

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/shuma/843811.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-11
下一篇2023-08-11

随机推荐

  • 妮维雅润唇膏好不好,妮维雅唇膏孕妇能用吗

    由于唇部的角质层比较薄,在秋冬季节时期,大家的嘴唇容易出现干裂脱皮的现象。在唇部护理这一方面,大部分的消费者会采用润唇膏来解决嘴唇干裂脱皮的问题,其中就包括了不少在孕期的准妈妈。但由于孕期是特殊时期,无论是在吃的还是用的方面都需要注

    2024-04-15
    54500
  • 欧莱雅和珀莱雅和妮维雅是什么意思

    三者都是化妆品品牌,又各有不同。欧莱雅和妮维雅是国外品牌,珀莱雅是本土品牌。一、欧莱雅:欧莱雅集团是法国的化妆品公司,创办于1907年。现各类化妆品畅销全世界,广受欢迎。除化妆品以外,该集团还经营高档的消费品,并从事制药和皮肤病研究。“欧莱

    2024-04-15
    63400
  • 娇韵诗双萃精华

    20岁以上的女性朋友就会爱美,来通过各种各样的途径保护皮肤,经常出入一些中高档的美容店来做一些补水治疗以及美白治疗。这些治疗的前提都是大家有充裕的时间和金钱为背景。如果是想在家里也要保持皮肤健康,就可以购买一瓶双粹精华。这款精华液可以使用三

    2024-04-15
    56400
  • 后的套盒有没有防伪码后天气丹套盒真假鉴别

          Whoo后是来自韩国的顶级宫廷护肤名品。而且LG公司每月出的专柜企划版套盒,种类的丰富、包装的华丽以及搭配多变的赠品更是常常让人心动不已。那么,后的套盒有没有防伪码      后的套盒有没有防伪码      后的套盒没有防伪码。

    2024-04-15
    44700
  • 含红没药醇的护肤品推荐

    含红没药醇的护肤品推荐洁面红之亲净洁面薇诺娜洁面泡沫洁面乳艾酸氏洁面卸妆Bobbi Brown芭比布朗卸妆油俊平卸妆油兰LAN卸妆油逐本卸妆油爽肤水佰草集太极水韩束高保湿水自然之名酵母植

    2024-04-15
    41000
  • 妮维雅唇膏好用吗?妮维雅唇膏哪款好用?

    说到妮维雅的产品许多人首先会想到就妮维雅男士洗面奶以及平衡爽肤水等等,而除了这些产品之外,许多人同样也都是非常喜欢用妮维雅的唇膏的,那么妮维雅唇膏真的好用吗?妮维雅的唇膏哪一款最好用呢?妮维雅唇膏效果怎么样?1、妮维雅唇膏好用吗妮维雅天然型

    2024-04-15
    38700
  • 面膜代加工厂家

    1、济南博利医药生物工程有限公司主营产品:面膜,面膜加工,壳聚糖面膜代加工,械字号面膜加工,玻尿酸原液,霜膏,乳液等。地址:济南市历下区明湖路2号东湖大厦东座702室。成立时间:1998-07-15。2、广州寿龛生物科技有限公司主营产品:膏

    2024-04-15
    50800

发表评论

登录后才能评论
保存