安卓手机出现无效的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

随机推荐

  • 欧诗漫珍珠白套装适合什么年纪_适合肤质

    你只知道自己黑,却不知道为何会黑,都说一白遮百丑,一黑毁所有。珍珠白系列产品,均持有国家特证,有美白特证才敢说美白。下面我带大家来看一下欧诗漫珍珠白套装适合什么年纪_适合肤质。欧诗漫珍珠白套装适合什么年纪欧诗漫OSM新珍珠白补水美白

    2024-04-15
    65700
  • 妍芙仁黑松露重组胶原焕颜精华凝露怎么用

    1、用温水和适合自己肤质的洁面产品彻底清洁面部。2、使用爽肤水或化妆水轻拍脸部,以帮助调理和准备肌肤。3、从瓶中挤出适量的妍芙仁黑松露重组胶原焕颜精华凝露,使用1-2泵的量。4、将精华凝露点在面部的额头、两颊、鼻子和下巴等区域,用指尖轻轻按

    2024-04-15
    60300
  • 香奈儿的产品怎么样?哪些值得买?

    香奈儿品牌产品线这么多,我个人觉得有的好用,有的性价比不高。护肤线的话,感觉不是他们家的主打,印象中美妆博主们也都比较少提到香奈尔家的护肤品。我用过他们家的山茶花系列,保湿效果还可以,但是同等价位还有更多的选择。不过香奈儿讨人喜欢的一点是:

    2024-04-15
    29800
  • 一般的眼霜多少钱啊?大概多少钱?

    1相宜本草保湿祛皱眼霜(10G购物套盒的赠品)326元:膏体质感滑滑的,贴合肌肤的嫩滑,不油、不粘腻,但也不薄,保湿效果刚刚好,吸收也比较快,没有味道,性价比较高的眼霜2普兰娜活性金眼霜30g69元:性价比高不油不腻很清爽,吸收快,基本的

    2024-04-15
    44600
  • 身体乳哪个牌子的补水保湿效果好?身体乳哪个牌子效果好?

    身体乳哪个牌子的补水保湿效果好?身体乳哪个牌子效果好?一款好用的身体乳有着非常好用的补水保湿质感,更好的呵护朋友们的身体,带来舒适的滋润体验,我为大家推荐下几款非常好用的身体乳品牌,一起来看看吧。1丝塔芙身体乳

    2024-04-15
    41000
  • 最近对苏秘家比较感兴趣,它的护肤品哪些不错用啊?

    说到苏秘,不得不说它的自然发酵护肤品,是没有人工色素、香料之类的添加物滴,成分安全,孕妇和敏感肌也能用。还有奇迹精华露,相当于SK2的神仙水哦,我用了几年了,感觉比神仙水要温和保湿一些。它的升级版是鎏金瓶系列的奇迹精华,也叫女神水,看到欢乐

    2024-04-15
    47900
  • 性价比最高的面霜有哪些?

    现代女孩子越来越注重护肤这件事情,女为悦己者容,除了化妆打扮之外,肌肤本身的状态也是十分重要的。女孩子想要看起来面色红润,肌肤光滑有弹性,是显气色显年轻的关键。护肤品的涂抹分数个步骤,而早晚的步骤也不是完全一样的。面霜则是护肤期间非常重要的

    2024-04-15
    49300

发表评论

登录后才能评论
保存