<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 學習電腦 > 電腦硬件知識 > 硬件知識 > 怎么通過代碼獲取手機的相關硬件信息

        怎么通過代碼獲取手機的相關硬件信息

        時間: 文輝886 分享

        怎么通過代碼獲取手機的相關硬件信息

          想知道怎么用代碼來獲取手機的相關硬件信息嗎?別著急,今天就讓學習啦小編來教下大家吧,快來看看吧,希望能讓大家有所收獲!

          獲取手機相關硬件信息的代碼

          package com.liu.chad.practicesqlite;

          import android.app.ActivityManager;

          import android.content.Context;

          import android.os.Bundle;

          import android.support.v7.app.ActionBarActivity;

          import android.telephony.TelephonyManager;

          import android.text.format.Formatter;

          import android.util.Log;

          import android.widget.TextView;

          import java.io.BufferedReader;

          import java.io.FileNotFoundException;

          import java.io.FileReader;

          import java.io.IOException;

          import java.io.InputStream;

          public class MainActivity extends ActionBarActivity {

          private TextView mTextView;

          @Override

          protected void onCreate(Bundle savedInstanceState) {

          super.onCreate(savedInstanceState);

          setContentView(R.layout.activity_main);

          mTextView = (TextView) findViewById(R.id.textViewId);

          getPhoneInfo();

          }

          /**

          * 獲取手機信息

          */

          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(); // 運營商

          mTextView.setText("品牌: " + mtyb + "\n" + "型號: " + mtype + "\n" + "版本: Android "

          + android.os.Build.VERSION.RELEASE + "\n" + "IMEI: " + imei

          + "\n" + "IMSI: " + imsi + "\n" + "手機號碼: " + numer + "\n"

          + "運營商: " + serviceName + "\n");

          mTextView.append("總內存: " + getTotalMemory() + "\n");

          mTextView.append("當前可用內存: " + getAvailMemory() + "\n");

          mTextView.append("CPU名字: " + getCpuName() + "\n");

          mTextView.append("CPU最大頻率: " + getMaxCpuFreq() + "\n");

          mTextView.append("CPU最小頻率: " + getMinCpuFreq() + "\n");

          mTextView.append("CPU當前頻率: " + getCurCpuFreq() + "\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轉換為Byte

          localBufferedReader.close();

          } catch (IOException e) {

          }

          return Formatter.formatFileSize(getBaseContext(), initial_memory);// Byte轉換為KB或者MB,內存大小規格化

          }

          /**

          * 獲取當前可用內存大小

          *

          * @return

          */

          private String getAvailMemory() {

          ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);

          ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();

          am.getMemoryInfo(mi);

          return Formatter.formatFileSize(getBaseContext(), mi.availMem);

          }

          public static String getMaxCpuFreq() {

          String result = "";

          ProcessBuilder cmd;

          try {

          String[] args = {"/system/bin/cat",

          "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq"};

          cmd = new ProcessBuilder(args);

          Process process = cmd.start();

          InputStream in = process.getInputStream();

          byte[] re = new byte[24];

          while (in.read(re) != -1) {

          result = result + new String(re);

          }

          in.close();

          } catch (IOException ex) {

          ex.printStackTrace();

          result = "N/A";

          }

          return result.trim() + "Hz";

          }

          // 獲取CPU最小頻率(單位KHZ)

          public static String getMinCpuFreq() {

          String result = "";

          ProcessBuilder cmd;

          try {

          String[] args = {"/system/bin/cat",

          "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq"};

          cmd = new ProcessBuilder(args);

          Process process = cmd.start();

          InputStream in = process.getInputStream();

          byte[] re = new byte[24];

          while (in.read(re) != -1) {

          result = result + new String(re);

          }

          in.close();

          } catch (IOException ex) {

          ex.printStackTrace();

          result = "N/A";

          }

          return result.trim() + "Hz";

          }

          // 實時獲取CPU當前頻率(單位KHZ)

          public static String getCurCpuFreq() {

          String result = "N/A";

          try {

          FileReader fr = new FileReader(

          "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq");

          BufferedReader br = new BufferedReader(fr);

          String text = br.readLine();

          result = text.trim() + "Hz";

          } catch (FileNotFoundException e) {

          e.printStackTrace();

          } catch (IOException e) {

          e.printStackTrace();

          }

          return result;

          }

          public static String getCpuName() {

          try {

          FileReader fr = new FileReader("/proc/cpuinfo");

          BufferedReader br = new BufferedReader(fr);

          String text = br.readLine();

          String[] array = text.split(":\s+", 2);

          for (int i = 0; i < array.length; i++) {

          }

          return array[1];

          } catch (FileNotFoundException e) {

          e.printStackTrace();

          } catch (IOException e) {

          e.printStackTrace();

          }

          return null;

          }

          }

        1689078 主站蜘蛛池模板: 波多野结衣中文字幕久久| 亚洲综合国产一区二区三区| 精品一区二区中文字幕| 蜜桃伦理一区二区三区| 亚洲av无码牛牛影视在线二区| 乱中年女人伦av三区| 啊灬啊灬啊灬啊灬快灬高潮了 | 国产肥白大熟妇bbbb视频| 国产综合久久久久影院| 日韩精品一二区在线观看| 亚洲欧洲国产综合一区二区| 亚洲精品一区二区天堂| 日韩激情成人| 成午夜精品一区二区三区| 色偷偷一区| 国产美女久久久亚洲综合| 熟女一区二区中文在线| 国产麻豆精品一区一区三区| 国产av中文字幕精品| 国产美女被遭强高潮免费一视频| 久国产精品韩国三级视频| 国产综合AV一区二区三区无码| 91精品国产91久久综合| 日韩精品一区二区三区中文无码| 四虎国产精品成人免费久久| 国产日产精品系列| 九九re线精品视频在线观看视频| 亚洲精品日韩中文字幕| 国产亚洲精品视频中文字幕 | 国产毛1卡2卡3卡4卡免费观看| 亚洲精品国偷拍自产在线观看蜜臀| 亚洲av无码久久精品色欲| 亚洲欧洲日韩国内高清| 国产精品老熟女一区二区| 无套内射视频囯产| 精品免费看国产一区二区| 精品久久久久无码| a午夜国产一级黄片| 被灌满精子的少妇视频| 国产91久久精品一区二区| 疯狂做受XXXX高潮国产|