得到电话状态(WIFI状态,厂商,运营商等)的工具类
来源:互联网 发布:国外源码网站 编辑:程序博客网 时间:2024/05/19 01:12
得到电话的状态,包括手机版本,厂商,运营商,型号,WIFI状态等等;无需多言,一看就懂的傻瓜贴。
需要在AndroidManifest.xml中注册如下权限
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
package com.jamin.phone_info;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;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;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(); } }
- 得到电话状态(WIFI状态,厂商,运营商等)的工具类
- 工具类—得到网络状态的工具类NetStateUtil
- 利用TelephonyManager(电话管理器)类来去的手机通话状态、网络、位置、Sim卡等信息
- WIFI的状态判断
- WIFI状态的素材
- 电话状态
- 取得电话当前的状态
- 模拟器上的电话状态
- 模拟器上的电话状态
- android 电话状态的监听
- 监听电话的呼叫状态
- android电话状态的监听
- android电话状态的记录
- android电话状态的监听
- Android 电话状态的监听
- android获取系统wifi状态等
- android获取系统wifi状态等
- 服务状态的工具类
- mysql 完整的存储过程
- 给做假网站的提个醒——我承认我无聊了
- linux 分区 挂载点之间的关系
- filenode* getfilesname(char *dir, int *pno) { DIR *dir_prt; struct dirent *entry; struct fi
- 周总结
- 得到电话状态(WIFI状态,厂商,运营商等)的工具类
- JSP使用存储过程
- 神秘的auto_ptr
- TCP 、UDP、IP包的最大长度是多少?
- Python os模块
- zoj 3228 Searching the String【ac自动机】
- 犯了个极其郁闷的小错误
- ajax的初次使用
- 中国核桃油10大品牌-汇智源核桃油首榜