android获取设备全部信息
private static final String FILE_MEMORY = "/proc/meminfo"; private static final String FILE_CPU = "/proc/cpuinfo"; /** * 得到IMEI * * @return */ public static final String getIMEI(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); String imei = tm.getDeviceId(); if (imei == null || imei.equals("000000000000000")) { return "0"; } return imei; } /** * 得到序列号 * * @param context * @return */ public static final String getSeriNumber(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); String sn = tm.getSimSerialNumber(); return sn; } /** * 得到IMSI * * @return */ public static final String getIMSI(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); String imsi = tm.getSimSerialNumber(); if (imsi == null || imsi.equals("000000000000000")) { return "0"; } return imsi; } /** * <p> * 手机可用内存大小 * </p> * * @param context * @return * @author chenfei * @date 2013-1-4 */ 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; } /** * <p> * 手机整体内存大小 * </p> * * @param context * @return * @author chenfei * @date 2013-1-4 */ 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+"); return Long.valueOf(array[1]) / 1024; } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return -1; } /** * <p> * 手机CPU型号 * </p> * * @return * @author chenfei * @date 2013-1-4 */ 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); return array[1]; } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } /** * <p> * 手机型号 如 XT702 * </p> * * @return * @author chenfei * @date 2013-1-4 */ public static String getModelName() { return Build.MODEL; } /** * <p> * 手机厂商名称 * </p> * * @return * @author chenfei * @date 2013-1-4 */ public static String getManufacturerName() { return Build.MANUFACTURER; } /** * <p> * 手机操作系统版本 * </p> * * @return * @author chenfei * @date 2013-1-4 */ public static String getSoftSDKVersion() { return Build.VERSION.RELEASE;// Firmware/OS 版本号 } /** * 获取蓝牙mac地址 * * @return */ public static String getBluetoothAddress() { String address = BluetoothAdapter.getDefaultAdapter().getAddress(); return address == null ? "" : address; } /** * 获取上网方式 * * @param mContext * @return */ public static String getNetType(Context mContext) { String netType = ""; ConnectivityManager connectionManager = (ConnectivityManager) mContext .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = connectionManager.getActiveNetworkInfo(); if (null != info && info.isAvailable()) { netType = info.getTypeName(); } return netType; } /** * 判断网络连接是否可用 * * @param mContext * @return */ public static boolean getNetIsVali(Context mContext) { if (mContext != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) mContext .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager .getActiveNetworkInfo(); if (mNetworkInfo != null) { return mNetworkInfo.isAvailable(); } } return false; } /** * 获取运营商信息 * * @param mContext * @return */ public static String getNetExtraInfo(Context mContext) { String netExtraInfo = ""; TelephonyManager mTm = (TelephonyManager) mContext .getSystemService(Context.TELEPHONY_SERVICE); if (mTm.getSimState() == TelephonyManager.SIM_STATE_READY) { netExtraInfo = mTm.getSimOperator(); if (null != netExtraInfo) { if (netExtraInfo.equals("46000") || netExtraInfo.equals("46002") || netExtraInfo.equals("46007")) { // 中国移动 netExtraInfo = "中国移动"; } else if (netExtraInfo.equals("46001")) { // 中国联通 netExtraInfo = "中国联通"; } else if (netExtraInfo.equals("46003")) { // 中国电信 netExtraInfo = "中国电信"; } else { netExtraInfo = "其他"; } } } return netExtraInfo; } /** * 得到wifi地址 * * @param context * @return */ public static String getWIFIMac(Context context) { WifiManager wifi = (WifiManager) context .getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnectionInfo(); String wifiMac = info.getMacAddress(); return wifiMac; } /** * 获取电话号码 * * @param context * @return */ public static String getPhoneNumber(Context context) { TelephonyManager mTelephonyMgr; mTelephonyMgr = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); return mTelephonyMgr.getLine1Number(); }
暂时先写这么多,部分机型获取获取不到一些属性比如电话号,蓝牙地址,序列号。使用时注意manifest中加入相应权限