ANDROID设备获取IMEI,手机号码等常用代码片段

在平时开发过程中,app都会要求获取手持设备的IMEI, 手机号码等相关的信息,于是写个功能封装类就很有必要了

step1:新建一个DeviceInfoManager.java的管理类

step2:确保该封装类为单例模式,初始化TelephonyManager.java这个重要的类,有关手机SIM卡相关信息的内容基本都能获取到了

  private static DeviceInfoManager mInstance;
    
    private Context mContext;
    
    private TelephonyManager mTelephonyManager;
    
    private DeviceInfoManager() {
        mContext = MyApp.mInstance;
        mTelephonyManager = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
    }
    
    public static DeviceInfoManager getInstance() {
        
        if (mInstance == null) {
            synchronized (DeviceInfoManager.class) {
                if (mInstance == null) {
                    mInstance = new DeviceInfoManager();
                }
            }
        }
        
        return mInstance;
    }

stp:3 一些常用的函数封装了

 // IMEI
    public String getDeviceID() {
        
        return mTelephonyManager.getDeviceId()/* "358326034114493" */;
        // return "000000000000002";
        
        // return "339142123371759";
    }
    
    public String getOSVersion() {
        return Build.VERSION.RELEASE;
    }
    
    public String getPhoneType() {
        return Build.MODEL;
    }
    
    public String getOS() {
        return "Android";
    }
    
    // 电话号码
    public String getNativePhoneNumber() {
        String NativePhoneNumber = null;
        NativePhoneNumber = mTelephonyManager.getLine1Number();
        return NativePhoneNumber;
    }
    
    public String getModel() {
        Log.i("device", "Build.MODEL  = " + android.os.Build.MODEL); // 主板
        Log.i("device", "Build.PRODUCT  = " + android.os.Build.PRODUCT); // 主板
        return android.os.Build.MODEL;
    }
    
    // 是否为模拟器
    public boolean isEmulator() {
        return (Build.MODEL.equals("sdk")) || (Build.MODEL.equals("google_sdk"));
    }

现在此封装类, 需要的功能都有了, 当然想要运行成功,权限是必要的<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

并不是所以的手机都能获取到手机号码,这个估计是运营商没有把手机号码的数据写入到sim卡中造成的。

posted @ 2015-01-05 10:07  JunChen'  阅读(519)  评论(0编辑  收藏  举报