AndroidUtils(一)手机信息大全(设备ID、厂商、型号、系统、IMEI、SDK版本等),androidutilssdk
投稿于 被查看 24595 次 评论:167
AndroidUtils(一)手机信息大全(设备ID、厂商、型号、系统、IMEI、SDK版本等),androidutilssdk
这是我们兄弟连一个新的目标,就是打造一个万能工具类,让老铁们在新项目中可以直接拿过去用,但是这么目标还是需要一步一步来实现的,今天就开始我们的第一篇工具类文章。
工具类讲究的就是使用方便,我在这先介绍这一篇工具类 , 总而言之:添加权限(代码块有),初始化就直接愉快的使用吧!package com.example.bandofbrotherszts.androidphoneinfo; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.telephony.TelephonyManager; import android.text.TextUtils; import java.util.UUID; /** * Created by ${zhaojz} on 2017/8/31. */ //权限 // /** throw new UnsupportedOperationException("you can't instantiate me..."); * 可以代替return null 来提示你自己 */ public class AndroidDeviceInfo { public static String androidID = null;//androidID public static String mSerial = null;//SIM卡的序列号 public static String deviceID = null;//设备ID public static String androidUuidID = null;//Uuid加密的android设备唯一标识 public static String phoneProducer = null;//手机厂商 public static String IMEI = null;//手机IM public static String phoneModel = null;//手机型号 public static String systemVersion = null;//手机系统版本号 public static String SDKVersion = null;//SDK版本 public static String versionName = null;//软件版本 public static Context context; /** * 本工具类初始化 * @param context */ public static void init(Context context){ AndroidDeviceInfo.context= context; } /** * 未加密 * @return 设备ID */ public static String getAndroidID(){ androidID = "" + android.provider.Settings.Secure.getString(context.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID); return androidID; } @SuppressLint("ByteOrderMark") public static String getAndroidID2(){ final TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); deviceID = "" + tm.getDeviceId(); mSerial = "" + tm.getSimSerialNumber(); // getSimOperatorName() Returns the Service Provider Name (SPN). // 获取服务提供商名字,比如电信,联通,移动 // String imsi = telManager.getSubscriberId(); // if(imsi!=null){ if(imsi.startsWith(“46000″) || imsi.startsWith(“46002″)) // {因为移动网络编号46000下的IMSI已经用完,所以虚拟了一个46002编号, // 134/159号段使用了此编号 //中国移动 // }else if(imsi.startsWith(“46001″)){ // 中国联通 // }else if(imsi.startsWith(“46003″)){ // 中国电信 // } } // getCellLocation() 返回的单元格位置的装置 ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION // getLine1Number() 返回设备的电话号码(MSISDN号码) READ_PHONE_STATE // getNetworkOperatorName() 返回注册的网络运营商的名字 // getNetworkOperator() 返回的MCC +跨国公司的注册网络运营商 // getNetworkCountryIso() 返回注册的网络运营商的国家代码 // getSimCountryIso() 返回SIM卡运营商的国家代码 READ_PHONE_STATE // getSimOperator() 返回SIM卡运营商的单个核细胞数+冶 READ_PHONE_STATE // getSimOperatorName() 返回SIM卡运营商的名字 READ_PHONE_STATE // getSimSerialNumber() 返回SIM卡的序列号 READ_PHONE_STATE // getNetworkType() 返回网络设备可用的类型。 return deviceID ; } /** * UUID 加密过后 * @return android唯一标识 */ public static String getUUIDAndroidID(String androidID,String deviceID,String tmSerial){ UUID deviceUuid = new UUID(androidID.hashCode(), ((long)deviceID.hashCode() << 32) | tmSerial.hashCode()); androidUuidID = deviceUuid.toString(); return androidUuidID; } /** * 手机厂商 * @return */ public static String getPhoneProducer() { phoneProducer = android.os.Build.BRAND; return phoneProducer; } /** * 手机IM * @return */ public static String getIMEI(Context ctx) { TelephonyManager tm = (TelephonyManager) ctx.getSystemService(Activity.TELEPHONY_SERVICE); if (tm != null) { IMEI = tm.getDeviceId(); return IMEI; } return null; } /** * 获取手机型号 * @return */ public static String getPhoneModel() { phoneModel = android.os.Build.MODEL; return phoneModel; } /** * 获取系统版本号 * @return */ public static String getSystemVersion() { systemVersion = android.os.Build.VERSION.RELEASE; return systemVersion; } /** * SDK 版本 * @return */ public static String getSDKVersion() { SDKVersion = android.os.Build.VERSION.SDK ; return SDKVersion; } /** * 当前软件版本 * @return */ private String getAppVersionName() { try { PackageManager packageManager = context.getPackageManager(); // context.getPackageName() 当前软件包名 PackageInfo packageInfo = packageManager.getPackageInfo(context.getPackageName(), 0); // packageInfo.versionCode versionName = packageInfo.versionName; if (TextUtils.isEmpty(versionName)) { return ""; } } catch (Exception e) { e.printStackTrace(); } return versionName; } }
点击下载此工具类 版权声明:本文为博主原创文章,未经博主允许不得转载。
用户评论