| package com.doumee.keyCabinet.utils; | 
|   | 
| import android.annotation.SuppressLint; | 
| import android.content.Context; | 
| import android.graphics.Point; | 
| import android.os.Build; | 
| import android.provider.Settings; | 
| import android.telephony.TelephonyManager; | 
| import android.text.TextUtils; | 
| import android.view.Display; | 
| import android.view.WindowManager; | 
|   | 
| import com.doumee.keyCabinet.MApplication; | 
|   | 
| /** | 
|  *  | 
|  * @version 1.1.5 | 
|  *  | 
|  */ | 
| public class LMobileInfo { | 
|     /** | 
|      * 判断手机号码是否正确 | 
|      *  | 
|      * @param mobiles | 
|      * @return | 
|      */ | 
|     public static boolean isMobileNO(String mobiles) { | 
|         // Pattern p = Pattern | 
|         // .compile("^((13[0-9])|(17[0,5-8])|(15[^4,\\D])|(18[0-9]))\\d{8}$"); | 
|         // Matcher m = p.matcher(mobiles); | 
|         // return m.matches(); | 
|         return true; | 
|     } | 
|   | 
|     /** | 
|      * 获取IMEI码 | 
|      *  | 
|      * @return | 
|      */ | 
|     public static String getImei() { | 
|         TelephonyManager mTm = (TelephonyManager) MApplication.mContext.getSystemService(Context.TELEPHONY_SERVICE); | 
|         return mTm.getDeviceId(); | 
|     } | 
|   | 
|     /** | 
|      * 获取IMSI码 | 
|      *  | 
|      * @return | 
|      */ | 
|     public static String getImsi() { | 
|         TelephonyManager mTm = (TelephonyManager) MApplication.mContext.getSystemService(Context.TELEPHONY_SERVICE); | 
|         return mTm.getSubscriberId(); | 
|     } | 
|   | 
|     /** | 
|      * @Description: 获取手机屏幕宽高 | 
|      */ | 
|     @SuppressLint("NewApi") | 
|     public static Point getDeviceSize() { | 
|         Point deviceSize = null; | 
|         if (deviceSize == null) { | 
|             deviceSize = new Point(0, 0); | 
|             if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) { | 
|                 ((WindowManager) MApplication.mContext | 
|                         .getSystemService(Context.WINDOW_SERVICE)) | 
|                         .getDefaultDisplay().getSize(deviceSize); | 
|             } else { | 
|                 Display display = ((WindowManager) MApplication.mContext.getSystemService(Context.WINDOW_SERVICE)) | 
|                         .getDefaultDisplay(); | 
|                 deviceSize.x = display.getWidth(); | 
|                 deviceSize.y = display.getHeight(); | 
|                 display = null; | 
|             } | 
|         } | 
|         return deviceSize; | 
|     } | 
|   | 
|     /** | 
|      * 获取Android设备的唯一标识字符串 | 
|      *  | 
|      * @param | 
|      * @return | 
|      */ | 
|     public static String getDeviceUniqueId() { | 
|         String uniqueId = ""; | 
|         try { | 
|             // 3、获取imei | 
|             TelephonyManager telephonyMgr = (TelephonyManager) MApplication.mContext | 
|                     .getSystemService(Context.TELEPHONY_SERVICE); | 
|             uniqueId = telephonyMgr.getDeviceId(); | 
|             if (TextUtils.isEmpty(uniqueId)) { | 
|                 uniqueId = getDevUUID(MApplication.mContext); | 
|             } | 
|         }catch (Exception e){ | 
|             uniqueId=getDevUUID(MApplication.mContext); | 
|         } | 
|   | 
|   | 
|         // // 1、获取mac地址 | 
|         // WifiManager wifiMgr = (WifiManager) LApplication.getInstance() | 
|         // .getContext().getSystemService(Context.WIFI_SERVICE); | 
|         // WifiInfo wifiInfo = wifiMgr.getConnectionInfo(); | 
|         // if (wifiInfo != null) { | 
|         // uniqueId = wifiInfo.getMacAddress(); | 
|         // } | 
|         // if (!TextUtils.isEmpty(uniqueId)) { | 
|         // return uniqueId; | 
|         // } | 
|         // | 
|         // // 2、获取android_id | 
|         // uniqueId = Secure.getString(LApplication.getInstance().getContext() | 
|         // .getContentResolver(), Secure.ANDROID_ID); | 
|         // if (!TextUtils.isEmpty(uniqueId)) { | 
|         // return uniqueId; | 
|         // } | 
|   | 
|         return uniqueId; | 
|     } | 
|   | 
|     public static String getDevUUID(Context mContext) { | 
|         /*TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); | 
|         String imei = telephonyManager.getDeviceId(); | 
|         String simNo = telephonyManager.getSimSerialNumber(); | 
|   | 
|         WifiManager wm = (WifiManager) LApplication | 
|                 .getInstance().getContext() | 
|                 .getSystemService(Context.WIFI_SERVICE); | 
|         String wifiAddress = wm.getConnectionInfo().getMacAddress(); | 
|         */ | 
|         String uniqueId="866102023684372"; | 
|         try { | 
|             String androidId = "" + android.provider.Settings.Secure.getString(mContext.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID); | 
|             String ints=""; | 
|             for (int i = 0; i < androidId.length(); i++) { | 
|                 ints+=formatting(androidId.substring(i, i + 1)); | 
|             } | 
|             if(ints.length()>=15){ | 
|                 ints=ints.substring(0,15); | 
|                 uniqueId = ints; | 
|             } | 
|         }catch (Exception e){ | 
|             int i=0; | 
|         } | 
|         return uniqueId; | 
|     } | 
|   | 
|     public static String formatting(String a) { | 
|         int chr=a.charAt(0); | 
|         if(chr>47 && chr<58){ | 
|             return a; | 
|         } | 
|         int i = 0; | 
|   | 
|         if (a.equals("a")) { | 
|             i = 0; | 
|         }else if (a.equals("b")) { | 
|             i = 1; | 
|         }else if (a.equals("c")) { | 
|             i = 2; | 
|         }else if (a.equals("d")) { | 
|             i = 3; | 
|         }else if (a.equals("e")) { | 
|             i = 4; | 
|         }else if (a.equals("f")) { | 
|             i = 5; | 
|         } | 
|         return i+""; | 
|     } | 
|   | 
|     public static String getAndroidId(){ | 
|         try { | 
|             return Settings.Secure.getString(MApplication.mContext.getContentResolver(), Settings.Secure.ANDROID_ID); | 
|         }catch (Exception e){ | 
|             return ""; | 
|         } | 
|     } | 
|   | 
|     /** | 
|      *  | 
|      * Description:获取运营商名称 | 
|      *  | 
|      * @return | 
|      */ | 
|     public static String getProvidersName() { | 
|         String ProvidersName = ""; | 
|         try { | 
|             TelephonyManager telephonyManager = (TelephonyManager) MApplication.mContext | 
|                     .getSystemService(Context.TELEPHONY_SERVICE); | 
|             // 返回唯一的用户ID;就是这张卡的编号神马的 | 
|             String IMSI = telephonyManager.getSubscriberId(); | 
|             // IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。 | 
|             if (!TextUtils.isEmpty(IMSI)) { | 
|                 if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) { | 
|                     ProvidersName = "中国移动"; | 
|                 } else if (IMSI.startsWith("46001")) { | 
|                     ProvidersName = "中国联通"; | 
|                 } else if (IMSI.startsWith("46003")) { | 
|                     ProvidersName = "中国电信"; | 
|                 } | 
|             } | 
|         }catch (Exception e){ | 
|   | 
|         } | 
|         return ProvidersName; | 
|     } | 
|   | 
|     /** | 
|      * 获取厂商 | 
|      *  | 
|      * @return | 
|      */ | 
|     public static String getManufacturer() { | 
|         return android.os.Build.MANUFACTURER; // 厂商 | 
|     } | 
|   | 
|     /** | 
|      * 获取手机型号 | 
|      *  | 
|      * @return | 
|      */ | 
|     public static String getMobileType() { | 
|         return android.os.Build.MODEL; // 手机型号 | 
|     } | 
|   | 
|     /** | 
|      * 获取系统发布版本号 | 
|      *  | 
|      * @return | 
|      */ | 
|   | 
|     public static String getVersionRelease() { | 
|         return android.os.Build.VERSION.RELEASE; | 
|     } | 
|   | 
|     /** | 
|      * 终端设备编码 | 
|      */ | 
|     public static final String TAG_END_FROM = "Android"; | 
|   | 
| } |