- 浏览: 11620 次
- 性别:
- 来自: 南京
最新评论
获取手机信息的工具类
import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.ObjectInputStream.GetField; import android.Manifest; import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityManager.MemoryInfo; import android.content.Context; import android.content.pm.PackageManager; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Build; import android.telephony.TelephonyManager; import android.util.Log; /** * retrieve phone info * * */ public class PhoneInfo { private static final String TAG = PhoneInfo.class.getSimpleName(); private static final String FILE_MEMORY = "/proc/meminfo"; private static final String FILE_CPU = "/proc/cpuinfo"; public String mIMEI; public int mPhoneType; public int mSysVersion; public String mNetWorkCountryIso; public String mNetWorkOperator; public String mNetWorkOperatorName; public int mNetWorkType; public boolean mIsOnLine; public String mConnectTypeName; public long mFreeMem; public long mTotalMem; public String mCupInfo; public String mProductName; public String mModelName; public String mManufacturerName; /** * private constructor */ private PhoneInfo() { } /** * get imei * * @return */ public static String getIMEI(Context context) { TelephonyManager manager = (TelephonyManager) context .getSystemService(Activity.TELEPHONY_SERVICE); // check if has the permission if (PackageManager.PERMISSION_GRANTED == context.getPackageManager() .checkPermission(Manifest.permission.READ_PHONE_STATE, context.getPackageName())) { return manager.getDeviceId(); } else { return null; } } /** * get phone type,like :GSM��CDMA��SIP��NONE * * @param context * @return */ public static int getPhoneType(Context context) { TelephonyManager manager = (TelephonyManager) context .getSystemService(Activity.TELEPHONY_SERVICE); return manager.getPhoneType(); } /** * get phone sys version * * @return */ public static int getSysVersion() { return Build.VERSION.SDK_INT; } /** * Returns the ISO country code equivalent of the current registered * operator's MCC (Mobile Country Code). * * @param context * @return */ public static String getNetWorkCountryIso(Context context) { TelephonyManager manager = (TelephonyManager) context .getSystemService(Activity.TELEPHONY_SERVICE); return manager.getNetworkCountryIso(); } /** * Returns the numeric name (MCC+MNC) of current registered operator.may not * work on CDMA phone * * @param context * @return */ public static String getNetWorkOperator(Context context) { TelephonyManager manager = (TelephonyManager) context .getSystemService(Activity.TELEPHONY_SERVICE); return manager.getNetworkOperator(); } /** * Returns the alphabetic name of current registered operator.may not work * on CDMA phone * * @param context * @return */ public static String getNetWorkOperatorName(Context context) { TelephonyManager manager = (TelephonyManager) context .getSystemService(Activity.TELEPHONY_SERVICE); return manager.getNetworkOperatorName(); } /** * get type of current network * * @param context * @return */ public static int getNetworkType(Context context) { TelephonyManager manager = (TelephonyManager) context .getSystemService(Activity.TELEPHONY_SERVICE); return manager.getNetworkType(); } /** * is webservice aviliable * * @param context * @return */ public static boolean isOnline(Context context) { ConnectivityManager manager = (ConnectivityManager) context .getSystemService(Activity.CONNECTIVITY_SERVICE); NetworkInfo info = manager.getActiveNetworkInfo(); if (info != null && info.isConnected()) { return true; } return false; } /** * get current data connection type name ,like ,Mobile��WIFI��OFFLINE * * @param context * @return */ public static String getConnectTypeName(Context context) { if (!isOnline(context)) { return "OFFLINE"; } ConnectivityManager manager = (ConnectivityManager) context .getSystemService(Activity.CONNECTIVITY_SERVICE); NetworkInfo info = manager.getActiveNetworkInfo(); if (info != null) { return info.getTypeName(); } else { return "OFFLINE"; } } /** * get free memory of phone, in M * * @param context * @return */ public static long getFreeMem(Context context) { ActivityManager manager = (ActivityManager) context .getSystemService(Activity.ACTIVITY_SERVICE); MemoryInfo info = new MemoryInfo(); manager.getMemoryInfo(info); long free = info.availMem / 1024 / 1024; return free; } /** * get total memory of phone , in M * * @param context * @return */ public static long getTotalMem(Context context) { try { FileReader fr = new FileReader(FILE_MEMORY); BufferedReader br = new BufferedReader(fr); String text = br.readLine(); String[] array = text.split("\\s+"); Log.w(TAG, text); return Long.valueOf(array[1]) / 1024; } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return -1; } public static String getCpuInfo() { try { FileReader fr = new FileReader(FILE_CPU); BufferedReader br = new BufferedReader(fr); String text = br.readLine(); String[] array = text.split(":\\s+", 2); for (int i = 0; i < array.length; i++) { Log.w(TAG, " ..... " + array[i]); } Log.w(TAG, text); return array[1]; } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } /** * get product name of phone * * @return */ public static String getProductName() { return Build.PRODUCT; } /** * get model of phone * * @return */ public static String getModelName() { return Build.MODEL; } /** * get Manufacturer Name of phone * * @return */ public static String getManufacturerName() { return Build.MANUFACTURER; } public static PhoneInfo getPhoneInfo(Context context) { PhoneInfo result = new PhoneInfo(); result.mIMEI = getIMEI(context); result.mPhoneType = getPhoneType(context); result.mSysVersion = getSysVersion(); result.mNetWorkCountryIso = getNetWorkCountryIso(context); result.mNetWorkOperator = getNetWorkOperator(context); result.mNetWorkOperatorName = getNetWorkOperatorName(context); result.mNetWorkType = getNetworkType(context); result.mIsOnLine = isOnline(context); result.mConnectTypeName = getConnectTypeName(context); result.mFreeMem = getFreeMem(context); result.mTotalMem = getTotalMem(context); result.mCupInfo = getCpuInfo(); result.mProductName = getProductName(); result.mModelName = getModelName(); result.mManufacturerName = getManufacturerName(); return result; } @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("IMEI : "+mIMEI+"\n"); builder.append("mPhoneType : "+mPhoneType+"\n"); builder.append("mSysVersion : "+mSysVersion+"\n"); builder.append("mNetWorkCountryIso : "+mNetWorkCountryIso+"\n"); builder.append("mNetWorkOperator : "+mNetWorkOperator+"\n"); builder.append("mNetWorkOperatorName : "+mNetWorkOperatorName+"\n"); builder.append("mNetWorkType : "+mNetWorkType+"\n"); builder.append("mIsOnLine : "+mIsOnLine+"\n"); builder.append("mConnectTypeName : "+mConnectTypeName+"\n"); builder.append("mFreeMem : "+mFreeMem+"M\n"); builder.append("mTotalMem : "+mTotalMem+"M\n"); builder.append("mCupInfo : "+mCupInfo+"\n"); builder.append("mProductName : "+mProductName+"\n"); builder.append("mModelName : "+mModelName+"\n"); builder.append("mManufacturerName : "+mManufacturerName+"\n"); return builder.toString(); } }
1. 手机的IMEI
2.手机的制式类型,GSM OR CDMA 手机
3.手机网络国家编码
4.手机网络运营商ID。
5.手机网络运营商名称
6.手机的数据链接类型
7.是否有可用数据链接
8.当前的数据链接类型
9.手机剩余内存
10.手机总内存
11.手机CPU型号
12.手机名称
13.手机型号
14.手机设备制造商名称
注意:需要如下权限
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
相关推荐
手机的制式类型,GSM OR CDMA 手机 /2.1手机的系统版本信息 3.手机网络国家编码 4.手机网络运营商ID。 5.手机网络运营商名称 6.手机的数据链接类型 7.是否有可用数据链接 8.当前的数据链接类型 9.手机剩余...
该工具可获取当前手机系统版本号、获取手机型号、获取手机厂商、获取手机IMEI(需要“android.permission.READ_PHONE_STATE”权限)、判断网络的2G?3G?4G
android 获取手机联系人的工具类 源码 包括 手机SIM卡联系人 手机通讯录联系人
通过该工具类可以获得请求的IP地址,适用于后台管理系统的信息统计。
网上收集的一些获取收集信息的代码,制作成一个工具类,以后可以方便调用。 import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import android.app.Activity; import ...
获取android设备信息 /** * android android设备信息类 * * @author 0907 * */ public class AndroidDeviceInfo { private String sysDateTime;// 设备系统时间 private String deviceName;// 设备名称及...
防止小米手机相册获取照片空指针的工具类,直接使用
手机工具类添加获取运行内存 cpu型号 电池容量等方法 wifi工具类添加注册监听wifi状态和连接状态监听回调 2018.3.20 添加蓝牙连接状态监听,添加开关蓝牙接口 2018.3.29 wifi工具类添加密码错误监听 手机...
打开网络设置界面,获取活动网络信息,判断网络是否可用,判断网络是否是4G,判断wifi是否连接状态,获取移动网络运营商名称,获取当前的网络类型,获取当前的网络类型(WIFI,2G,3G,4G)
AppUtils APP相关信息工具类 AssetDatabaseOpenHelper 目录资源获取 Base64 加密 BitmapUtil 获取Bitmap和对Bitmap的操作 ChannelUtil 获取市场号 Colors 颜色工具类 包括常用的色值 DES DES加密解密类 ...
获取安卓状态,工具类,imsi,imei,ip,屏幕分辨率,手机号,wifi状态,网络状态,应有尽有
集合 手机网络定位和google map地图定位 判断手机是否支持等 强大的定位工具类.
Android端获取手机IMEI,IMSI, MAC等授信功能的工具类,还包括屏幕宽高,屏幕亮度,网络类型判断等
本工具类,主要用于操作SD卡,主要功能:判断手机SD卡是否挂载;获取SD卡的绝对物理路径;将数据保存到SD卡;读取SD卡中的文件
APP相关信息工具类 目录资源获取 加密 获取Bitmap和对Bitmap的操作 获取市场号 颜色工具类包括常用的色值 DES加密解密类 本应用数据清除管理器 应用数据库衍生工具类 日期操作工具类 数据库帮助类 屏幕信息获取数值...
用于获取设备的cpu 框架,系统版本,设备厂商,SDK等信息,比如我们对应用进行统计的时候,有了这些信息我们很快知道是什么手机,系统出现的问题,帮助我们远程快速定位问题的原因
isMobileSimple : 验证手机号(简单) isMobileExact : 验证手机号(精确) isTel : 验证电话号码 isIDCard15 : 验证身份证号码15位 isIDCard18 : 验证身份证号码18位 isEmail : 验证邮箱 isURL : 验证URL isZh : ...
Android 工具类,集合了一些常用方法,包括获取手机号,获取手机Imei号,获取软件版本名称,验证手机号和邮箱等正则表达式,拨打电话,手机号加密等常用功能,虽然和简单,但是很常用,和实用
一些工具类代码块的标准代码,包括但不限于: 获取当前操作系统的sdk版本 获取当前操作系统的语言 获取当前系统上的语言列表(Locale列表) 获取手机型号 获取操作系统的版本号 读取SIM卡序列号 获取手机CPU序列号 获得...