android 获取IMSI信息(判断是移动,联通,电信手机卡)

首先我们需要知道手机IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。那么第一步就是先获取手机IMSI号码:代码如下

 1     /**
 2      *获取IMSI信息
 3      * @param context
 4      * @return
 5      */
 6     public static String getPhoneIMSI(Context context) {
 7         TelephonyManager mTelephonyMgr = (TelephonyManager) context
 8                 .getSystemService(Context.TELEPHONY_SERVICE);
 9          Log.v("LJC", "get getSubscriberId " + mTelephonyMgr.getSubscriberId());
10         return mTelephonyMgr.getSubscriberId();
11     }

或:

 1     /**
 2      * 检查是否电信手机卡
 3      *
 4      * @return 电信卡 返回true否则false
 5      */
 6     public boolean checkSIMCarl(Context context) {
 7         boolean value = false;
 8         String IMSI = getPhoneIMSI(context);
 9         if (IMSI != null) {
10             if (IMSI.startsWith("46003"))
11                 value = true;
12         }
13         return value;
14         // IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。其中
15         // if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {
16         // ProvidersName = "中国移动";
17         // } else if (IMSI.startsWith("46001")) {
18         // ProvidersName ="中国联通";
19         // } else if (IMSI.startsWith("46003")) {
20         // ProvidersName = "中国电信";
21     }
时间: 2025-01-04 23:37:52

android 获取IMSI信息(判断是移动,联通,电信手机卡)的相关文章

【小功能2】android获取手机信息(号码,内存,CPU,分辨率,MAC,IP,SD卡,IMEI,经纬度,信号强度等等)

为了实现一个功能,需要搜集手机信息,自己先在网上找了相关信息进行了汇总,主要是汇集手机的信息,一般想要的信息在手机设置->关于手机->状态消息里面包含了手机的各种信息,下面的代码中也主要显示了那些信息,但是源码的方法我还没有看,先把总结的贴出来.先上图(太多就截取几个).  上代码啦,太多了,就写主要代码了. // 获取Android手机中SD卡存储信息 获取剩余空间 public void getSDCardInfo() { // 在manifest.xml文件中要添加 /* * <u

android获取设备信息

public class DeviceInfo { private static Application APP = null; private static String sd_card = Environment.getExternalStorageDirectory()+File.separator+"wlcache"; public static Application getApp() { return APP; } // 获取手机型号 public static Strin

Android获取Exif信息

获取Exif信息 代表的是文件的头信息; 步骤: 步骤一: // 获取指定的文件的头信息对象 ExifInterface exif = new ExifInterface("/sdcard/x.jpg"); 步骤二: 获取指定的头信息: // 获取指定的信息 // 获取拍摄时间 String time =exif.getAttribute(ExifInterface.TAG_DATETIME); System.out.println("拍摄时间是:===" + ti

Android 获取设备信息 异常

/**获取设备信息 * @param c * @return */ public static void setDeviceInfo(Context c,RequestParams params){ TelephonyManager tm = (TelephonyManager) c.getSystemService(Context.TELEPHONY_SERVICE); if(tm!=null){ try{ params.add("deviceId", tm.getDeviceId(

android获取手机信息

android系统的很多信息可以通过 /proc 目录下获得,如 cat  /proc/cpuinfo                       获取cpu信息 cat /proc/meminfo                      获取内存信息 这些信息以文本格式保存,可以通过IO流读取,比较简单,在这里考虑到一些内容并不是以文本方式保存,磁盘信息 我们通过代码实现一个linux指令解析器来得到要获取的信息 指令解析器如下: public class CMDExecutor { /**

Android 获取地理位置信息 封装好了 直接用

前言:花了一个早上研究了以下android获取经纬度,然后网上的参考资料都是杂七杂八,基本上都是过去几年的,现在我用 android6.0参照别人的结果发生好多错误,我的内心几乎是崩溃的.后来,不断百度,不断goole,不断查找资料,终于解决了,而且完美打包,以后直接用就可以了. 1.这个类原来是用kotlin写的,后来有些东西和java又不同,索性就改成java吧,反正他们兼容性很强-----封装的类名为:LocationUtil package com.example.jason_jan.g

android 获取手机信息

获取手机信息: 在文件 AndroidManifest.xml 中添加权限 <uses-permission android:name= "android.permission.READ_PHONE_STATE"/>等 String mBrand = android.os.Build.BRAND;// 手机品牌 String mType = android.os.Build.MODEL; // 手机型号   String mAndroid = android.os.Buil

php 获取IP 根据IP 获取城市信息 判断是否手机登陆

function GetIp(){ $realip = ''; $unknown = 'unknown'; if (isset($_SERVER)){ if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR']) && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], $unknown)){ $arr = explode('

android 获取手机信息工具类

package com.yqy.yqy_listviewheadview; import android.content.Context; import android.telephony.TelephonyManager; import android.util.Log; /** * 获取手机信息工具类<br> * 内部已经封装了打印功能,仅仅须要把DEBUG參数改为true就可以<br> * 假设须要更换tag能够直接更改,默觉得KEZHUANG * * @author YQY