擷取android手機基本資料,android基本資料
Java代碼
- /**
- * 擷取android當前可用記憶體大小
- */
- private String getAvailMemory() {// 擷取android當前可用記憶體大小
-
- ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
- MemoryInfo mi = new MemoryInfo();
- am.getMemoryInfo(mi);
- //mi.availMem; 當前系統的可用記憶體
-
- return Formatter.formatFileSize(getBaseContext(), mi.availMem);// 將擷取的記憶體大小規格化
- }
-
- /**
- * 獲得系統總記憶體
- */
- 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
- */
- public String getHeightAndWidth(){
- int width=getWindowManager().getDefaultDisplay().getWidth();
- int heigth=getWindowManager().getDefaultDisplay().getHeight();
- String str=width+""+heigth+"";
- return str;
- }
- /**
- * 擷取IMEI號,IESI號,手機型號
- */
- private void getInfo() {
- TelephonyManager mTm = (TelephonyManager)this.getSystemService(TELEPHONY_SERVICE);
- String imei = mTm.getDeviceId();
- String imsi = mTm.getSubscriberId();
- String mtype = android.os.Build.MODEL; // 手機型號
- String mtyb= android.os.Build.BRAND;//手機品牌
- String numer = mTm.getLine1Number(); // 手機號碼,有的可得,有的不可得
- Log.i("text", "手機IMEI號:"+imei+"手機IESI號:"+imsi+"手機型號:"+mtype+"手機品牌:"+mtyb+"手機號碼"+numer);
- }
- /**
- * .擷取手機MAC地址
- * 只有手機開啟wifi才能擷取到mac地址
- */
- private String getMacAddress(){
- String result = "";
- WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
- WifiInfo wifiInfo = wifiManager.getConnectionInfo();
- result = wifiInfo.getMacAddress();
- Log.i("text", "手機macAdd:" + result);
- return result;
- }
- /**
- * 手機CPU資訊
- */
- private String[] getCpuInfo() {
- String str1 = "/proc/cpuinfo";
- String str2 = "";
- String[] cpuInfo = {"", ""}; //1-cpu型號 //2-cpu頻率
- 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) {
- }
- Log.i("text", "cpuinfo:" + cpuInfo[0] + " " + cpuInfo[1]);
- return cpuInfo;
- }
Java代碼
- <!-- 擷取mac地址許可權 -->
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
- <!-- 擷取手機資訊許可權 -->
- <uses-permission android:name="android.permission.READ_PHONE_STATE" />