AndroidUtils(一)手机信息大全(设备ID、厂商、型号、系统、IMEI、SDK版本等)
来源:互联网 发布:人事软件有哪些 编辑:程序博客网 时间:2024/04/28 08:27
这是我们兄弟连一个新的目标,就是打造一个万能工具类,让老铁们在新项目中可以直接拿过去用,但是这么目标还是需要一步一步来实现的,今天就开始我们的第一篇工具类文章。
工具类讲究的就是使用方便,我在这先介绍这一篇工具类 , 总而言之:添加权限(代码块有),初始化就直接愉快的使用吧!
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; }}
点击下载此工具类
阅读全文
2 0
- AndroidUtils(一)手机信息大全(设备ID、厂商、型号、系统、IMEI、SDK版本等)
- 获取手机设备型号,厂商,手机版本,IMEI等信息
- 获取手机设备型号、系统版本、手机型号等信息
- Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类
- Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类
- Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类
- Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类
- andriod 拿手机设备信息 手机IMEI 设备ID等 并http请求
- 获取手机信息,型号,版本等
- iOS SDK详解之UIDevice(系统版本,设备型号...)
- iOS_获取设备型号、手机系统版本
- 获取设备IMEI ,手机名称,系统SDK版本号,系统版本号
- Android 获取手机的IMEI等设备信息
- Android 获取手机的IMEI等设备信息
- 获取手机imei 网络 硬件 软件版本等信息
- 【Android】获取设备型号、SDK版本及其系统版本
- 【Android】获取设备型号、SDK版本及其系统版本
- 获取设备型号、SDK版本及其系统版本
- thinkphp整合webuploader的使用 添加以及删除修改
- java前后台开发之文件上传
- LeetCode2—Add Two Numbers
- Laravel5.4框架中数据库迁移
- PHP 1,1,2,3,5,8,13,21,34。。。求第30位的数是多少
- AndroidUtils(一)手机信息大全(设备ID、厂商、型号、系统、IMEI、SDK版本等)
- easyUI 图片上传和预览
- SQL优化
- npm 使用过程中报错问题-及npm使用
- 正则表达式在JS中的应用
- redis架构设计
- 【常用工具】经验教训
- 如何调研使用一款数据访问层中间件
- Cmake -static编译