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权限,并且只在可以证明必须使用它的情况下使用它。

相关内容

热门资讯

透视科技"凑一桌关春... 【亲,凑一桌关春天怎么才能开挂 这款游戏可以开挂的,确实是有挂的,很多玩家在这款凑一桌关春天怎么才能...
热点推荐"新西游拼十... 新西游拼十辅助器是一款专注玩家量身打造的游戏记牌类型软件,在新西游拼十辅助器这款游戏中我们可以记录下...
最新技巧"微信小程序... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
透视有挂"福建兄弟十... 透视有挂"福建兄弟十三水安卓"开挂(神器)辅助神器真是有挂-专业教程【无需打开直接搜索加薇13670...
大家学习交流"随意玩... 大家学习交流"随意玩辅助器"开挂(下载)辅助下载了解有挂-教你攻略;无需打开直接搜索薇:136704...
今日重大通报"雀友会... 今日重大通报"雀友会广东潮汕麻雀开挂"开挂(平台)辅助平台有挂神器-科技教程 了解更多开挂安装加(1...
记者揭秘"518互游... 记者揭秘"518互游辅助器下载"开挂(工具)辅助工具有挂头条-分享教程;无需打开直接搜索加薇1367...
揭秘"丽水都莱大菠萝... 您好:这款丽水都莱大菠萝脚本辅助游戏是可以开挂的,确实是有挂的,很多玩家在这款丽水都莱大菠萝脚本辅助...
透视讲解"游戏黑科技... 透视讲解"游戏黑科技辅助器"开挂(脚本)辅助脚本有挂教学-透视教程;无需打开直接搜索微信(13670...
玩家必看科普"上饶中... 玩家必看科普"上饶中至五十k有挂装吗"开挂(平台)辅助平台有挂技术-详细教程您好:上饶中至五十k有挂...