1:通過Build類和System類來獲取系統(tǒng)的信息,具體代碼如下所示:
private String getDeviceInfo() {
StringBuffer sb = new StringBuffer();
sb.append("主板:" + Build.BOARD);
sb.append("\n系統(tǒng)啟動程序版本號:" + Build.BOOTLOADER);
sb.append("\n系統(tǒng)定制商:" + Build.BRAND);
sb.append("\ncpu指令集:" + Build.CPU_ABI);
sb.append("\ncpu指令集2" + Build.CPU_ABI2);
sb.append("\n設置參數(shù):" + Build.DEVICE);
sb.append("\n顯示屏參數(shù):" + Build.DISPLAY);
sb.append("\n無線電固件版本:" + Build.getRadioVersion());
sb.append("\n硬件識別碼:" + Build.FINGERPRINT);
sb.append("\n硬件名稱:" + Build.HARDWARE);
sb.append("\nHOST:" + Build.HOST);
sb.append("\n修訂版本列表:" + Build.ID);
sb.append("\n硬件制造商:" + Build.MANUFACTURER);
sb.append("\n版本:" + Build.MODEL);
sb.append("\n硬件序列號:" + Build.SERIAL);
sb.append("\n手機制造商:" + Build.PRODUCT);
sb.append("\n描述Build的標簽:" + Build.TAGS);
sb.append("\nTIME:" + Build.TIME);
sb.append("\nbuilder類型:" + Build.TYPE);
sb.append("\nUSER:" + Build.USER);
sb.append("\n路徑分隔符:" + System.getProperty("path.separator"));
sb.append("\n行分隔符:" + System.getProperty("line.separator"));
sb.append("\n文件分隔符:" + System.getProperty("file.separator"));
sb.append("\njava版本:" + System.getProperty("java.version"));
return sb.toString();
}
輸出結果為:
主板:KIW-AL10
系統(tǒng)啟動程序版本號:unknown
系統(tǒng)定制商:HONOR
cpu指令集:arm64-v8a
cpu指令集2
設置參數(shù):HNKIW-Q
顯示屏參數(shù):KIW-AL10C92B443
無線電固件版本:20234,20234
硬件識別碼:HONOR/KIW-AL10/HNKIW-Q:6.0.1/HONORKIW-AL10/C92B443:user/release-keys
硬件名稱:qcom
HOST:localhost#1
修訂版本列表:HONORKIW-AL10
硬件制造商:HUAWEI
版本:KIW-AL10
硬件序列號:QMS0216608002654
手機制造商:KIW-AL10
描述Build的標簽:release-keys
TIME:1513118432000
builder類型:user
USER:android
路徑分隔符::
行分隔符:
文件分隔符:/
java版本:0
2:PackageManager
常用的方法如下所示:
示例代碼如下:
PackageManager packageManager=getPackageManager(); List<ApplicationInfo>list=packageManager.getInstalledApplications(PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
for (int i = 0; i < list.size(); i++) {
Log.d("CeShi", list.get(i).toString()+"\n");//輸出手機上安裝的app的包信息
}
3:ActivityManager
示例代碼如下:
ActivityManager activityManager= (ActivityManager) getSystemService(ACTIVITY_SERVICE); List<ActivityManager.RunningAppProcessInfo>list=activityManager.getRunningAppProcesses();
for (int i = 0; i < list.size(); i++) {
Debug.MemoryInfo[] memoryInfos=activityManager.getProcessMemoryInfo(new int[]{list.get(i).pid});
Log.d("CeShi", list.get(i).processName + "," +memoryInfos[i].getTotalPss());//只輸出了當前app進程,輸出結果為:com.example.liang.arlvyou,12877
}