美文网首页
手机IMEI等相关的一些信息获取

手机IMEI等相关的一些信息获取

作者: 涂涂家的小七呀 | 来源:发表于2019-08-28 10:19 被阅读0次
   public String getPhoneState() {
       try {
             //TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
            //@SuppressLint("MissingPermission") String IMEIs = tm.getDeviceId();//获取设备IMEI
            String phoneName = android.os.Build.MODEL;//获取手机名称
            int phoneSDK = Build.VERSION.SDK_INT;//获取系统SDK版本号
            String phoneVersion = android.os.Build.VERSION.RELEASE;//获取手机系统版本号
            return phoneName + "," + phoneSDK + "," + phoneVersion;
        } catch (Exception e) {
            e.printStackTrace();
            LogLogs.logSave(SettingStorageModel.id, 3, "PhoneState--getPhoneState()", "获取手机信息", Arrays.toString(e.getStackTrace()));
            return null;
        }
    }

    //获取手机系统运营商
    public String getProvidersName(Context context) {
        TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
        String ProvidersName;
        // 返回唯一的用户ID;就是这张卡的编号
        @SuppressLint({"MissingPermission", "HardwareIds"}) String IMSI = Objects.requireNonNull(telephonyManager).getSubscriberId();
        // IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。
        if (IMSI != null) {
            if (IMSI.startsWith("46000") || IMSI.startsWith("46002") || IMSI.startsWith("46007") || IMSI.startsWith("41004")) {
                ProvidersName = "移动 " + getNetworkType(telephonyManager.getNetworkType());
            } else if (IMSI.startsWith("46001") || IMSI.startsWith("46006")) {
                ProvidersName = "联通 " + getNetworkType(telephonyManager.getNetworkType());
            } else if (IMSI.startsWith("46003") || IMSI.startsWith("46005") || IMSI.startsWith("46011")) {
                ProvidersName = "电信 " + getNetworkType(telephonyManager.getNetworkType());
            } else {
                ProvidersName = "未知 " + getNetworkType(telephonyManager.getNetworkType());
            }
        } else {
            ProvidersName = "未知 " + getNetworkType(telephonyManager.getNetworkType());
        }
        return ProvidersName;
    }

    //获取手机网络类型
    private String getNetworkType(int networkType) {
        // TODO Auto-generated method stub
        switch (networkType) {
            case TelephonyManager.NETWORK_TYPE_1xRTT:
                return "1xRTT";
            case TelephonyManager.NETWORK_TYPE_CDMA:
                return "CDMA";
            case TelephonyManager.NETWORK_TYPE_EDGE:
                return "EDGE";
            case TelephonyManager.NETWORK_TYPE_EHRPD:
                return "EHRPD";
            case TelephonyManager.NETWORK_TYPE_EVDO_0:
                return "EVDO_0";
            case TelephonyManager.NETWORK_TYPE_EVDO_A:
                return "EVDO_A";
            case TelephonyManager.NETWORK_TYPE_EVDO_B:
                return "EVDO_B";
            case TelephonyManager.NETWORK_TYPE_GPRS:
                return "GPRS";
            case TelephonyManager.NETWORK_TYPE_HSDPA:
                return "HSDPA";
            case TelephonyManager.NETWORK_TYPE_HSPA:
                return "HSPA";
            case TelephonyManager.NETWORK_TYPE_HSPAP:
                return "HSPAP";
            case TelephonyManager.NETWORK_TYPE_HSUPA:
                return "HSUPA";
            case TelephonyManager.NETWORK_TYPE_IDEN:
                return "IDEN";
            case TelephonyManager.NETWORK_TYPE_LTE:
                return "LTE";
            case TelephonyManager.NETWORK_TYPE_UMTS:
                return "UMTS";
            case TelephonyManager.NETWORK_TYPE_UNKNOWN:
                return "UNKNOWN";
            default:
                return "UNKNOWN";
        }
    }

    /**
     * 获取手机IMEI号
     */
    @SuppressLint({"MissingPermission", "HardwareIds"})
    public static String getIMEI(Context context) {
        TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
        return telephonyManager != null ? telephonyManager.getDeviceId() : null;
    }

相关文章

网友评论

      本文标题:手机IMEI等相关的一些信息获取

      本文链接:https://www.haomeiwen.com/subject/xgfpectx.html