Android 获取手机信息

来源:互联网 发布:如何在手机开淘宝网店 编辑:程序博客网 时间:2024/05/21 07:49
/** * 获取手机信息 */public void getPhoneInfo(){TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);String mtyb = android.os.Build.BRAND;// 手机品牌String mtype = android.os.Build.MODEL; // 手机型号String imei = tm.getDeviceId();String imsi = tm.getSubscriberId();String numer = tm.getLine1Number(); // 手机号码String serviceName = tm.getSimOperatorName(); // 运营商tvPhoneInfo.setText("品牌: " + mtyb + "\n" + "型号: " + mtype + "\n" + "版本: Android " + android.os.Build.VERSION.RELEASE + "\n" + "IMEI: " + imei+ "\n" + "IMSI: " + imsi + "\n" + "手机号码: " + numer + "\n" + "运营商: " + serviceName + "\n");}


/** * 获取手机内存大小 *  * @return */private String getTotalMemory(){String str1 = "/proc/meminfo";// 系统内存信息文件String str2;String[] arrayOfString;long initial_memory = 0;try{FileReader localFileReader = new FileReader(str1);BufferedReader localBufferedReader = new BufferedReader(localFileReader, 8192);str2 = localBufferedReader.readLine();// 读取meminfo第一行,系统总内存大小arrayOfString = str2.split("\\s+");for (String num : arrayOfString){Log.i(str2, num + "\t");}initial_memory = Integer.valueOf(arrayOfString[1]).intValue() * 1024;// 获得系统总内存,单位是KB,乘以1024转换为BytelocalBufferedReader.close();}catch (IOException e){}return Formatter.formatFileSize(getBaseContext(), initial_memory);// Byte转换为KB或者MB,内存大小规格化}

/** * 获取当前可用内存大小 *  * @return */private String getAvailMemory(){ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);MemoryInfo mi = new MemoryInfo();am.getMemoryInfo(mi);return Formatter.formatFileSize(getBaseContext(), mi.availMem);}


/** * 获取手机CPU信息 *  * @return */public String[] getCpuInfo(){String str1 = "/proc/cpuinfo";String str2 = "";String[] cpuInfo = { "", "" };String[] arrayOfString;try{FileReader fr = new FileReader(str1);BufferedReader localBufferedReader = new BufferedReader(fr, 8192);str2 = localBufferedReader.readLine();arrayOfString = str2.split("\\s+");for (int i = 2; i < arrayOfString.length; i++){cpuInfo[0] = cpuInfo[0] + arrayOfString[i] + " ";}str2 = localBufferedReader.readLine();arrayOfString = str2.split("\\s+");cpuInfo[1] += arrayOfString[2];localBufferedReader.close();}catch (IOException e){}tvHardwareInfo.append("CPU型号 " + cpuInfo[0] + "\n" + "CPU频率: " + cpuInfo[1] + "\n");return cpuInfo;}


/** * 获取CPU核心数 *  * @return */private int getNumCores(){// Private Class to display only CPU devices in the directory listingclass CpuFilter implements FileFilter{@Overridepublic boolean accept(File pathname){// Check if filename is "cpu", followed by a single digit numberif (Pattern.matches("cpu[0-9]", pathname.getName())){return true;}return false;}}try{// Get directory containing CPU infoFile dir = new File("/sys/devices/system/cpu/");// Filter to only list the devices we care aboutFile[] files = dir.listFiles(new CpuFilter());// Return the number of cores (virtual CPU devices)return files.length;}catch (Exception e){e.printStackTrace();// Default to return 1 corereturn 1;}}


原创粉丝点击