Android10版本之后如何验证IMEI号码?
创始人
2024-08-20 08:00:06
0

在Android 10版本之后,使用getDeviceId()方法来获取IMEI号码已被标记为不安全的调用。因此,推荐使用新的方法来验证IMEI号码。

以下是一个使用TelephonyManager类获取IMEI号码并进行验证的示例代码:

private boolean isValidIMEI(String imei) {
    if (imei == null || imei.length() != 15) {
        //不是有效的IMEI号码
        return false;
    }

    int sum = 0;
    for (int i = 0; i < 15; i++) {
        int digit = Integer.parseInt(imei.substring(i, i + 1));
        if (i % 2 == 0) {
            digit *= 2;
            sum += digit > 9 ? digit - 9 : digit;
        } else {
            sum += digit;
        }
    }
    return sum % 10 == 0;
}

public String getIMEI() {
    String imei = null;
    TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
    if (telephonyManager != null) {
        imei = telephonyManager.getImei();
    }

    if (!isValidIMEI(imei)) {
        //不是有效的IMEI号码
        return null;
    }
    return imei;
}

在上面的示例中,我们首先使用TelephonyManager类获取IMEI号码,然后使用isValidIMEI()方法对其进行验证。如果IMEI号码无效,则返回null。否则,getIMEI()方法将返回有效的IMEI号码。

需要注意的是,我们仍然可以使用getDeviceId()来获取IMEI号码,但需要声明READ_PRIVILEGED_PHONE_STATE权限,并且只在可以证明必须使用它的情况下使用它。

相关内容

热门资讯

透视有挂!wepoker私人局... 透视有挂!wepoker私人局辅助器,wepoker高级辅助,曝光教程(有挂透明挂)-哔哩哔哩wep...
玩家必知教程!微乐春天扑克开挂... >>您好:微乐春天扑克开挂辅助插件确实是有挂的,很多玩家在这款微乐春天扑克开挂辅助插件游戏中打牌都会...
透视存在!透视盒子,皇豪互众控... 透视存在!透视盒子,皇豪互众控制系统下载,安装教程(有挂分享)-哔哩哔哩>>您好:软件加136704...
推荐十款!微乐江苏小程序游戏破... >>您好:微乐江苏小程序游戏破解器下载确实是有挂的,很多玩家在这款微乐江苏小程序游戏破解器下载游戏中...
透视美元局!科乐填大坑作弊码,... 科乐填大坑作弊码是一款专注玩家量身打造的游戏记牌类型软件,在科乐填大坑作弊码这款游戏中我们可以记录下...
研究成果!蜀渝牌血战到底辅助,... 研究成果!蜀渝牌血战到底辅助,非凡贪玩脚本,切实教程(有挂技术)-哔哩哔哩《详细加薇13670430...
揭秘一下!陕麻圈辅助器透视开挂... 揭秘一下!陕麻圈辅助器透视开挂,牛总管一定要牛辅助,分享教程(有挂秘诀)-哔哩哔哩 【无需打开直接搜...
分享开挂内幕!卡五星辅助软件,... 【亲,微信小程序辅助器 这款游戏可以开挂的,确实是有挂的,很多玩家在这款微信小程序辅助器中打牌都会发...
实测揭晓!来几局辅助器开挂,胡... 实测揭晓!来几局辅助器开挂,胡易决胜麻架辅助,2026新版教程(有挂秘笈)-哔哩哔哩 了解更多开挂安...
2024教程!杭州都莱有没有挂... 2024教程!杭州都莱有没有挂,新卡农辅助软件,玩家教程(存在有挂)-哔哩哔哩;1、让任何用户在无需...