package com.zzx.factorytest.manager; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Build; import android.os.Environment; import android.os.StatFs; import android.text.format.Formatter; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.lang.reflect.Method; import java.text.SimpleDateFormat; public class SystemUtils { public static String getSoftWareVersion(Context context) { String sVersion = null; try { SimpleDateFormat date = new SimpleDateFormat("MM dd yyyy HH:mm:ss"); sVersion = date.format(context.getPackageManager().getPackageInfo(context.getPackageName(), 0).lastUpdateTime); } catch (Exception e) { sVersion = "unknown"; e.printStackTrace(); } return sVersion; } /** * * * @param context * @param packageName * @return */ public static String getAppVersion(Context context,String packageName){ try{ PackageManager pm = context.getPackageManager(); PackageInfo packageInfo; packageInfo = pm.getPackageInfo(packageName, 0);// ȡ�õ�ǰ�İ汾��Ϣ String versionName = packageInfo.versionName; return versionName; }catch (Exception e) { e.printStackTrace(); } return null; } /** * * ����������ȡϵͳ���� * @param field * @return */ public static String getSystemProperties(String field) { String platform = null; try { Class<?> classType = Class.forName("android.os.SystemProperties"); Method getMethod = classType.getDeclaredMethod("get", new Class<?>[] { String.class }); platform = (String) getMethod.invoke(classType, new Object[] { field }); } catch (Exception e) { e.printStackTrace(); } return platform; } /** * * ����������ȡFlash��С * @return */ public static String getTotalFlash(Context context) { File root = Environment.getDataDirectory(); StatFs sf = new StatFs(root.getPath()); long blockSize = sf.getBlockSize(); long blockCount = sf.getBlockCount(); return Formatter.formatFileSize(context, blockSize * blockCount); } /** * * ����������ȡ�ڴ�����С * @return */ public static String getTotalMemory(Context context) { String[] arrayOfString; long initial_memory = 0; try { FileReader localFileReader = new FileReader("/proc/meminfo"); // ϵͳ�ڴ���Ϣ�ļ� BufferedReader localBufferedReader = new BufferedReader(localFileReader, 8192); String meminfo = localBufferedReader.readLine();// ��ȡmeminfo��һ�У�ϵͳ���ڴ��С arrayOfString = meminfo.split("\\s+"); initial_memory = Integer.valueOf(arrayOfString[1]).intValue() * 1024;// ���ϵͳ���ڴ棬��λ��KB������1024ת��ΪByte localBufferedReader.close(); } catch (Exception e) { e.printStackTrace(); } return Formatter.formatFileSize(context, initial_memory);// Byteת��ΪKB����MB���ڴ��С��� } /** * @return ϵͳ�汾��Ϣ */ public static String[] getVersion() { String[] version = { "null", "null", "null", "null", "null" }; String str1 = "/proc/version"; String str2; String[] arrayOfString; try { FileReader localFileReader = new FileReader(str1); BufferedReader localBufferedReader = new BufferedReader(localFileReader, 8192); str2 = localBufferedReader.readLine(); arrayOfString = str2.split("\\s+"); version[0] = arrayOfString[2];// KernelVersion localBufferedReader.close(); } catch (IOException e) { } version[1] = Build.VERSION.RELEASE;// firmware version version[2] = Build.MODEL;// model version[3] = Build.DISPLAY;// system version version[4] = Build.BRAND;// brand return version; } }