获取android手机基本信息

时间:2021-05-19 14:25:12
  1. /**
  2. * 获取android当前可用内存大小
  3. */
  4. private String getAvailMemory() {// 获取android当前可用内存大小
  5. ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
  6. MemoryInfo mi = new MemoryInfo();
  7. am.getMemoryInfo(mi);
  8. //mi.availMem; 当前系统的可用内存
  9. return Formatter.formatFileSize(getBaseContext(), mi.availMem);// 将获取的内存大小规格化
  10. }
  11. /**
  12. * 获得系统总内存
  13. */
  14. private String getTotalMemory() {
  15. String str1 = "/proc/meminfo";// 系统内存信息文件
  16. String str2;
  17. String[] arrayOfString;
  18. long initial_memory = 0;
  19. try {
  20. FileReader localFileReader = new FileReader(str1);
  21. BufferedReader localBufferedReader = new BufferedReader(
  22. localFileReader, 8192);
  23. str2 = localBufferedReader.readLine();// 读取meminfo第一行,系统总内存大小
  24. arrayOfString = str2.split("\\s+");
  25. for (String num : arrayOfString) {
  26. Log.i(str2, num + "\t");
  27. }
  28. initial_memory = Integer.valueOf(arrayOfString[1]).intValue() * 1024;// 获得系统总内存,单位是KB,乘以1024转换为Byte
  29. localBufferedReader.close();
  30. } catch (IOException e) {
  31. }
  32. return Formatter.formatFileSize(getBaseContext(), initial_memory);// Byte转换为KB或者MB,内存大小规格化
  33. }
  34. /**
  35. * 获得手机屏幕宽高
  36. * @return
  37. */
  38. public String getHeightAndWidth(){
  39. int width=getWindowManager().getDefaultDisplay().getWidth();
  40. int heigth=getWindowManager().getDefaultDisplay().getHeight();
  41. String str=width+""+heigth+"";
  42. return str;
  43. }
  44. /**
  45. * 获取IMEI号,IESI号,手机型号
  46. */
  47. private void getInfo() {
  48. TelephonyManager mTm = (TelephonyManager)this.getSystemService(TELEPHONY_SERVICE);
  49. String imei = mTm.getDeviceId();
  50. String imsi = mTm.getSubscriberId();
  51. String mtype = android.os.Build.MODEL; // 手机型号
  52. String mtyb= android.os.Build.BRAND;//手机品牌
  53. String numer = mTm.getLine1Number(); // 手机号码,有的可得,有的不可得
  54. Log.i("text", "手机IMEI号:"+imei+"手机IESI号:"+imsi+"手机型号:"+mtype+"手机品牌:"+mtyb+"手机号码"+numer);
  55. }
  56. /**
  57. * .获取手机MAC地址
  58. * 只有手机开启wifi才能获取到mac地址
  59. */
  60. private String getMacAddress(){
  61. String result = "";
  62. WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
  63. WifiInfo wifiInfo = wifiManager.getConnectionInfo();
  64. result = wifiInfo.getMacAddress();
  65. Log.i("text", "手机macAdd:" + result);
  66. return result;
  67. }
  68. /**
  69. * 手机CPU信息
  70. */
  71. private String[] getCpuInfo() {
  72. String str1 = "/proc/cpuinfo";
  73. String str2 = "";
  74. String[] cpuInfo = {"", ""};  //1-cpu型号  //2-cpu频率
  75. String[] arrayOfString;
  76. try {
  77. FileReader fr = new FileReader(str1);
  78. BufferedReader localBufferedReader = new BufferedReader(fr, 8192);
  79. str2 = localBufferedReader.readLine();
  80. arrayOfString = str2.split("\\s+");
  81. for (int i = 2; i < arrayOfString.length; i++) {
  82. cpuInfo[0] = cpuInfo[0] + arrayOfString[i] + " ";
  83. }
  84. str2 = localBufferedReader.readLine();
  85. arrayOfString = str2.split("\\s+");
  86. cpuInfo[1] += arrayOfString[2];
  87. localBufferedReader.close();
  88. } catch (IOException e) {
  89. }
  90. Log.i("text", "cpuinfo:" + cpuInfo[0] + " " + cpuInfo[1]);
  91. return cpuInfo;
  92. }
  1. <!--         获取mac地址权限 -->
  2. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
  3. <!--     获取手机信息权限 -->
  4. <uses-permission android:name="android.permission.READ_PHONE_STATE" />